mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
Colour: Prevent an integer alpha value being processed as a float
This commit is contained in:
parent
4212720f7d
commit
68f7ed4ecc
2 changed files with 83 additions and 16 deletions
|
|
@ -271,10 +271,20 @@ Colour Colour::fromHSV (float hue, float saturation, float brightness, float alp
|
||||||
return Colour (hue, saturation, brightness, alpha);
|
return Colour (hue, saturation, brightness, alpha);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Colour Colour::fromHSV (float hue, float saturation, float brightness, uint8 alpha) noexcept
|
||||||
|
{
|
||||||
|
return Colour (hue, saturation, brightness, alpha);
|
||||||
|
}
|
||||||
|
|
||||||
Colour Colour::fromHSL (float hue, float saturation, float lightness, float alpha) noexcept
|
Colour Colour::fromHSL (float hue, float saturation, float lightness, float alpha) noexcept
|
||||||
|
{
|
||||||
|
return fromHSL (hue, saturation, lightness, ColourHelpers::floatToUInt8 (alpha));
|
||||||
|
}
|
||||||
|
|
||||||
|
Colour Colour::fromHSL (float hue, float saturation, float lightness, uint8 alpha) noexcept
|
||||||
{
|
{
|
||||||
Colour hslColour;
|
Colour hslColour;
|
||||||
hslColour.argb = ColourHelpers::HSL::toRGB (hue, saturation, lightness, ColourHelpers::floatToUInt8 (alpha));
|
hslColour.argb = ColourHelpers::HSL::toRGB (hue, saturation, lightness, alpha);
|
||||||
|
|
||||||
return hslColour;
|
return hslColour;
|
||||||
}
|
}
|
||||||
|
|
@ -582,117 +592,150 @@ public:
|
||||||
{
|
{
|
||||||
auto testColour = [this] (Colour colour,
|
auto testColour = [this] (Colour colour,
|
||||||
uint8 expectedRed, uint8 expectedGreen, uint8 expectedBlue,
|
uint8 expectedRed, uint8 expectedGreen, uint8 expectedBlue,
|
||||||
uint8 expectedAlpha = 255, float expectedFloatAlpha = 1.0f)
|
uint8 expectedAlpha = 255)
|
||||||
{
|
{
|
||||||
expectEquals (colour.getRed(), expectedRed);
|
expectEquals (colour.getRed(), expectedRed);
|
||||||
expectEquals (colour.getGreen(), expectedGreen);
|
expectEquals (colour.getGreen(), expectedGreen);
|
||||||
expectEquals (colour.getBlue(), expectedBlue);
|
expectEquals (colour.getBlue(), expectedBlue);
|
||||||
expectEquals (colour.getAlpha(), expectedAlpha);
|
expectEquals (colour.getAlpha(), expectedAlpha);
|
||||||
expectEquals (colour.getFloatAlpha(), expectedFloatAlpha);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
beginTest ("Constructors");
|
beginTest ("Constructors");
|
||||||
{
|
{
|
||||||
Colour c1;
|
Colour c1;
|
||||||
testColour (c1, (uint8) 0, (uint8) 0, (uint8) 0, (uint8) 0, 0.0f);
|
testColour (c1, (uint8) 0, (uint8) 0, (uint8) 0, (uint8) 0);
|
||||||
|
|
||||||
Colour c2 ((uint32) 0);
|
Colour c2 ((uint32) 0);
|
||||||
testColour (c2, (uint8) 0, (uint8) 0, (uint8) 0, (uint8) 0, 0.0f);
|
testColour (c2, (uint8) 0, (uint8) 0, (uint8) 0, (uint8) 0);
|
||||||
|
|
||||||
Colour c3 ((uint32) 0xffffffff);
|
Colour c3 ((uint32) 0xffffffff);
|
||||||
testColour (c3, (uint8) 255, (uint8) 255, (uint8) 255, (uint8) 255, 1.0f);
|
testColour (c3, (uint8) 255, (uint8) 255, (uint8) 255, (uint8) 255);
|
||||||
|
|
||||||
Colour c4 (0, 0, 0);
|
Colour c4 (0, 0, 0);
|
||||||
testColour (c4, (uint8) 0, (uint8) 0, (uint8) 0, (uint8) 255, 1.0f);
|
testColour (c4, (uint8) 0, (uint8) 0, (uint8) 0, (uint8) 255);
|
||||||
|
|
||||||
Colour c5 (255, 255, 255);
|
Colour c5 (255, 255, 255);
|
||||||
testColour (c5, (uint8) 255, (uint8) 255, (uint8) 255, (uint8) 255, 1.0f);
|
testColour (c5, (uint8) 255, (uint8) 255, (uint8) 255, (uint8) 255);
|
||||||
|
|
||||||
Colour c6 ((uint8) 0, (uint8) 0, (uint8) 0, (uint8) 0);
|
Colour c6 ((uint8) 0, (uint8) 0, (uint8) 0, (uint8) 0);
|
||||||
testColour (c6, (uint8) 0, (uint8) 0, (uint8) 0, (uint8) 0, 0.0f);
|
testColour (c6, (uint8) 0, (uint8) 0, (uint8) 0, (uint8) 0);
|
||||||
|
|
||||||
Colour c7 ((uint8) 255, (uint8) 255, (uint8) 255, (uint8) 255);
|
Colour c7 ((uint8) 255, (uint8) 255, (uint8) 255, (uint8) 255);
|
||||||
testColour (c7, (uint8) 255, (uint8) 255, (uint8) 255, (uint8) 255, 1.0f);
|
testColour (c7, (uint8) 255, (uint8) 255, (uint8) 255, (uint8) 255);
|
||||||
|
|
||||||
Colour c8 ((uint8) 0, (uint8) 0, (uint8) 0, 0.0f);
|
Colour c8 ((uint8) 0, (uint8) 0, (uint8) 0, 0.0f);
|
||||||
testColour (c8, (uint8) 0, (uint8) 0, (uint8) 0, (uint8) 0, 0.0f);
|
testColour (c8, (uint8) 0, (uint8) 0, (uint8) 0, (uint8) 0);
|
||||||
|
|
||||||
Colour c9 ((uint8) 255, (uint8) 255, (uint8) 255, 1.0f);
|
Colour c9 ((uint8) 255, (uint8) 255, (uint8) 255, 1.0f);
|
||||||
testColour (c9, (uint8) 255, (uint8) 255, (uint8) 255, (uint8) 255, 1.0f);
|
testColour (c9, (uint8) 255, (uint8) 255, (uint8) 255, (uint8) 255);
|
||||||
}
|
}
|
||||||
|
|
||||||
beginTest ("HSV");
|
beginTest ("HSV");
|
||||||
{
|
{
|
||||||
// black
|
// black
|
||||||
testColour (Colour::fromHSV (0.0f, 0.0f, 0.0f, 1.0f), 0, 0, 0);
|
testColour (Colour::fromHSV (0.0f, 0.0f, 0.0f, 1.0f), 0, 0, 0);
|
||||||
|
testColour (Colour::fromHSV (0.0f, 0.0f, 0.0f, 0.5f), 0, 0, 0, 128);
|
||||||
// white
|
// white
|
||||||
testColour (Colour::fromHSV (0.0f, 0.0f, 1.0f, 1.0f), 255, 255, 255);
|
testColour (Colour::fromHSV (0.0f, 0.0f, 1.0f, 1.0f), 255, 255, 255);
|
||||||
|
testColour (Colour::fromHSV (0.0f, 0.0f, 1.0f, 0.5f), 255, 255, 255, 128);
|
||||||
// red
|
// red
|
||||||
testColour (Colour::fromHSV (0.0f, 1.0f, 1.0f, 1.0f), 255, 0, 0);
|
testColour (Colour::fromHSV (0.0f, 1.0f, 1.0f, 1.0f), 255, 0, 0);
|
||||||
|
testColour (Colour::fromHSV (0.0f, 1.0f, 1.0f, 0.5f), 255, 0, 0, 128);
|
||||||
testColour (Colour::fromHSV (1.0f, 1.0f, 1.0f, 1.0f), 255, 0, 0);
|
testColour (Colour::fromHSV (1.0f, 1.0f, 1.0f, 1.0f), 255, 0, 0);
|
||||||
|
testColour (Colour::fromHSV (1.0f, 1.0f, 1.0f, 0.5f), 255, 0, 0, 128);
|
||||||
// lime
|
// lime
|
||||||
testColour (Colour::fromHSV (120 / 360.0f, 1.0f, 1.0f, 1.0f), 0, 255, 0);
|
testColour (Colour::fromHSV (120 / 360.0f, 1.0f, 1.0f, 1.0f), 0, 255, 0);
|
||||||
|
testColour (Colour::fromHSV (120 / 360.0f, 1.0f, 1.0f, 0.5f), 0, 255, 0, 128);
|
||||||
// blue
|
// blue
|
||||||
testColour (Colour::fromHSV (240 / 360.0f, 1.0f, 1.0f, 1.0f), 0, 0, 255);
|
testColour (Colour::fromHSV (240 / 360.0f, 1.0f, 1.0f, 1.0f), 0, 0, 255);
|
||||||
|
testColour (Colour::fromHSV (240 / 360.0f, 1.0f, 1.0f, 0.5f), 0, 0, 255, 128);
|
||||||
// yellow
|
// yellow
|
||||||
testColour (Colour::fromHSV (60 / 360.0f, 1.0f, 1.0f, 1.0f), 255, 255, 0);
|
testColour (Colour::fromHSV (60 / 360.0f, 1.0f, 1.0f, 1.0f), 255, 255, 0);
|
||||||
|
testColour (Colour::fromHSV (60 / 360.0f, 1.0f, 1.0f, 0.5f), 255, 255, 0, 128);
|
||||||
// cyan
|
// cyan
|
||||||
testColour (Colour::fromHSV (180 / 360.0f, 1.0f, 1.0f, 1.0f), 0, 255, 255);
|
testColour (Colour::fromHSV (180 / 360.0f, 1.0f, 1.0f, 1.0f), 0, 255, 255);
|
||||||
|
testColour (Colour::fromHSV (180 / 360.0f, 1.0f, 1.0f, 0.5f), 0, 255, 255, 128);
|
||||||
// magenta
|
// magenta
|
||||||
testColour (Colour::fromHSV (300 / 360.0f, 1.0f, 1.0f, 1.0f), 255, 0, 255);
|
testColour (Colour::fromHSV (300 / 360.0f, 1.0f, 1.0f, 1.0f), 255, 0, 255);
|
||||||
|
testColour (Colour::fromHSV (300 / 360.0f, 1.0f, 1.0f, 0.5f), 255, 0, 255, 128);
|
||||||
// silver
|
// silver
|
||||||
testColour (Colour::fromHSV (0.0f, 0.0f, 0.75f, 1.0f), 191, 191, 191);
|
testColour (Colour::fromHSV (0.0f, 0.0f, 0.75f, 1.0f), 191, 191, 191);
|
||||||
|
testColour (Colour::fromHSV (0.0f, 0.0f, 0.75f, 0.5f), 191, 191, 191, 128);
|
||||||
// grey
|
// grey
|
||||||
testColour (Colour::fromHSV (0.0f, 0.0f, 0.5f, 1.0f), 128, 128, 128);
|
testColour (Colour::fromHSV (0.0f, 0.0f, 0.5f, 1.0f), 128, 128, 128);
|
||||||
|
testColour (Colour::fromHSV (0.0f, 0.0f, 0.5f, 0.5f), 128, 128, 128, 128);
|
||||||
// maroon
|
// maroon
|
||||||
testColour (Colour::fromHSV (0.0f, 1.0f, 0.5f, 1.0f), 128, 0, 0);
|
testColour (Colour::fromHSV (0.0f, 1.0f, 0.5f, 1.0f), 128, 0, 0);
|
||||||
|
testColour (Colour::fromHSV (0.0f, 1.0f, 0.5f, 0.5f), 128, 0, 0, 128);
|
||||||
// olive
|
// olive
|
||||||
testColour (Colour::fromHSV (60 / 360.0f, 1.0f, 0.5f, 1.0f), 128, 128, 0);
|
testColour (Colour::fromHSV (60 / 360.0f, 1.0f, 0.5f, 1.0f), 128, 128, 0);
|
||||||
|
testColour (Colour::fromHSV (60 / 360.0f, 1.0f, 0.5f, 0.5f), 128, 128, 0, 128);
|
||||||
// green
|
// green
|
||||||
testColour (Colour::fromHSV (120 / 360.0f, 1.0f, 0.5f, 1.0f), 0, 128, 0);
|
testColour (Colour::fromHSV (120 / 360.0f, 1.0f, 0.5f, 1.0f), 0, 128, 0);
|
||||||
|
testColour (Colour::fromHSV (120 / 360.0f, 1.0f, 0.5f, 0.5f), 0, 128, 0, 128);
|
||||||
// purple
|
// purple
|
||||||
testColour (Colour::fromHSV (300 / 360.0f, 1.0f, 0.5f, 1.0f), 128, 0, 128);
|
testColour (Colour::fromHSV (300 / 360.0f, 1.0f, 0.5f, 1.0f), 128, 0, 128);
|
||||||
|
testColour (Colour::fromHSV (300 / 360.0f, 1.0f, 0.5f, 0.5f), 128, 0, 128, 128);
|
||||||
// teal
|
// teal
|
||||||
testColour (Colour::fromHSV (180 / 360.0f, 1.0f, 0.5f, 1.0f), 0, 128, 128);
|
testColour (Colour::fromHSV (180 / 360.0f, 1.0f, 0.5f, 1.0f), 0, 128, 128);
|
||||||
|
testColour (Colour::fromHSV (180 / 360.0f, 1.0f, 0.5f, 0.5f), 0, 128, 128, 128);
|
||||||
// navy
|
// navy
|
||||||
testColour (Colour::fromHSV (240 / 360.0f, 1.0f, 0.5f, 1.0f), 0, 0, 128);
|
testColour (Colour::fromHSV (240 / 360.0f, 1.0f, 0.5f, 1.0f), 0, 0, 128);
|
||||||
|
testColour (Colour::fromHSV (240 / 360.0f, 1.0f, 0.5f, 0.5f), 0, 0, 128, 128);
|
||||||
}
|
}
|
||||||
|
|
||||||
beginTest ("HSL");
|
beginTest ("HSL");
|
||||||
{
|
{
|
||||||
// black
|
// black
|
||||||
testColour (Colour::fromHSL (0.0f, 0.0f, 0.0f, 1.0f), 0, 0, 0);
|
testColour (Colour::fromHSL (0.0f, 0.0f, 0.0f, 1.0f), 0, 0, 0);
|
||||||
|
testColour (Colour::fromHSL (0.0f, 0.0f, 0.0f, 0.5f), 0, 0, 0, 128);
|
||||||
// white
|
// white
|
||||||
testColour (Colour::fromHSL (0.0f, 0.0f, 1.0f, 1.0f), 255, 255, 255);
|
testColour (Colour::fromHSL (0.0f, 0.0f, 1.0f, 1.0f), 255, 255, 255);
|
||||||
|
testColour (Colour::fromHSL (0.0f, 0.0f, 1.0f, 0.5f), 255, 255, 255, 128);
|
||||||
// red
|
// red
|
||||||
testColour (Colour::fromHSL (0.0f, 1.0f, 0.5f, 1.0f), 255, 0, 0);
|
testColour (Colour::fromHSL (0.0f, 1.0f, 0.5f, 1.0f), 255, 0, 0);
|
||||||
|
testColour (Colour::fromHSL (0.0f, 1.0f, 0.5f, 0.5f), 255, 0, 0, 128);
|
||||||
testColour (Colour::fromHSL (1.0f, 1.0f, 0.5f, 1.0f), 255, 0, 0);
|
testColour (Colour::fromHSL (1.0f, 1.0f, 0.5f, 1.0f), 255, 0, 0);
|
||||||
|
testColour (Colour::fromHSL (1.0f, 1.0f, 0.5f, 0.5f), 255, 0, 0, 128);
|
||||||
// lime
|
// lime
|
||||||
testColour (Colour::fromHSL (120 / 360.0f, 1.0f, 0.5f, 1.0f), 0, 255, 0);
|
testColour (Colour::fromHSL (120 / 360.0f, 1.0f, 0.5f, 1.0f), 0, 255, 0);
|
||||||
|
testColour (Colour::fromHSL (120 / 360.0f, 1.0f, 0.5f, 0.5f), 0, 255, 0, 128);
|
||||||
// blue
|
// blue
|
||||||
testColour (Colour::fromHSL (240 / 360.0f, 1.0f, 0.5f, 1.0f), 0, 0, 255);
|
testColour (Colour::fromHSL (240 / 360.0f, 1.0f, 0.5f, 1.0f), 0, 0, 255);
|
||||||
|
testColour (Colour::fromHSL (240 / 360.0f, 1.0f, 0.5f, 0.5f), 0, 0, 255, 128);
|
||||||
// yellow
|
// yellow
|
||||||
testColour (Colour::fromHSL (60 / 360.0f, 1.0f, 0.5f, 1.0f), 255, 255, 0);
|
testColour (Colour::fromHSL (60 / 360.0f, 1.0f, 0.5f, 1.0f), 255, 255, 0);
|
||||||
|
testColour (Colour::fromHSL (60 / 360.0f, 1.0f, 0.5f, 0.5f), 255, 255, 0, 128);
|
||||||
// cyan
|
// cyan
|
||||||
testColour (Colour::fromHSL (180 / 360.0f, 1.0f, 0.5f, 1.0f), 0, 255, 255);
|
testColour (Colour::fromHSL (180 / 360.0f, 1.0f, 0.5f, 1.0f), 0, 255, 255);
|
||||||
|
testColour (Colour::fromHSL (180 / 360.0f, 1.0f, 0.5f, 0.5f), 0, 255, 255, 128);
|
||||||
// magenta
|
// magenta
|
||||||
testColour (Colour::fromHSL (300 / 360.0f, 1.0f, 0.5f, 1.0f), 255, 0, 255);
|
testColour (Colour::fromHSL (300 / 360.0f, 1.0f, 0.5f, 1.0f), 255, 0, 255);
|
||||||
|
testColour (Colour::fromHSL (300 / 360.0f, 1.0f, 0.5f, 0.5f), 255, 0, 255, 128);
|
||||||
// silver
|
// silver
|
||||||
testColour (Colour::fromHSL (0.0f, 0.0f, 0.75f, 1.0f), 191, 191, 191);
|
testColour (Colour::fromHSL (0.0f, 0.0f, 0.75f, 1.0f), 191, 191, 191);
|
||||||
|
testColour (Colour::fromHSL (0.0f, 0.0f, 0.75f, 0.5f), 191, 191, 191, 128);
|
||||||
// grey
|
// grey
|
||||||
testColour (Colour::fromHSL (0.0f, 0.0f, 0.5f, 1.0f), 128, 128, 128);
|
testColour (Colour::fromHSL (0.0f, 0.0f, 0.5f, 1.0f), 128, 128, 128);
|
||||||
|
testColour (Colour::fromHSL (0.0f, 0.0f, 0.5f, 0.5f), 128, 128, 128, 128);
|
||||||
// maroon
|
// maroon
|
||||||
testColour (Colour::fromHSL (0.0f, 1.0f, 0.25f, 1.0f), 128, 0, 0);
|
testColour (Colour::fromHSL (0.0f, 1.0f, 0.25f, 1.0f), 128, 0, 0);
|
||||||
|
testColour (Colour::fromHSL (0.0f, 1.0f, 0.25f, 0.5f), 128, 0, 0, 128);
|
||||||
// olive
|
// olive
|
||||||
testColour (Colour::fromHSL (60 / 360.0f, 1.0f, 0.25f, 1.0f), 128, 128, 0);
|
testColour (Colour::fromHSL (60 / 360.0f, 1.0f, 0.25f, 1.0f), 128, 128, 0);
|
||||||
|
testColour (Colour::fromHSL (60 / 360.0f, 1.0f, 0.25f, 0.5f), 128, 128, 0, 128);
|
||||||
// green
|
// green
|
||||||
testColour (Colour::fromHSL (120 / 360.0f, 1.0f, 0.25f, 1.0f), 0, 128, 0);
|
testColour (Colour::fromHSL (120 / 360.0f, 1.0f, 0.25f, 1.0f), 0, 128, 0);
|
||||||
|
testColour (Colour::fromHSL (120 / 360.0f, 1.0f, 0.25f, 0.5f), 0, 128, 0, 128);
|
||||||
// purple
|
// purple
|
||||||
testColour (Colour::fromHSL (300 / 360.0f, 1.0f, 0.25f, 1.0f), 128, 0, 128);
|
testColour (Colour::fromHSL (300 / 360.0f, 1.0f, 0.25f, 1.0f), 128, 0, 128);
|
||||||
|
testColour (Colour::fromHSL (300 / 360.0f, 1.0f, 0.25f, 0.5f), 128, 0, 128, 128);
|
||||||
// teal
|
// teal
|
||||||
testColour (Colour::fromHSL (180 / 360.0f, 1.0f, 0.25f, 1.0f), 0, 128, 128);
|
testColour (Colour::fromHSL (180 / 360.0f, 1.0f, 0.25f, 1.0f), 0, 128, 128);
|
||||||
|
testColour (Colour::fromHSL (180 / 360.0f, 1.0f, 0.25f, 0.5f), 0, 128, 128, 128);
|
||||||
// navy
|
// navy
|
||||||
testColour (Colour::fromHSL (240 / 360.0f, 1.0f, 0.25f, 1.0f), 0, 0, 128);
|
testColour (Colour::fromHSL (240 / 360.0f, 1.0f, 0.25f, 1.0f), 0, 0, 128);
|
||||||
|
testColour (Colour::fromHSL (240 / 360.0f, 1.0f, 0.25f, 0.5f), 0, 0, 128, 128);
|
||||||
}
|
}
|
||||||
|
|
||||||
beginTest ("Modifiers");
|
beginTest ("Modifiers");
|
||||||
|
|
@ -715,6 +758,8 @@ public:
|
||||||
testColour (red.withMultipliedLightness (2.0f), 255, 255, 255);
|
testColour (red.withMultipliedLightness (2.0f), 255, 255, 255);
|
||||||
testColour (red.withMultipliedLightness (1.0f), 255, 0, 0);
|
testColour (red.withMultipliedLightness (1.0f), 255, 0, 0);
|
||||||
testColour (red.withLightness (red.getLightness()), 255, 0, 0);
|
testColour (red.withLightness (red.getLightness()), 255, 0, 0);
|
||||||
|
testColour (red.withAlpha ((uint8) 128), 255, 0, 0, 128);
|
||||||
|
testColour (red.withAlpha (0.5f), 255, 0, 0, 128);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -136,6 +136,17 @@ public:
|
||||||
float brightness,
|
float brightness,
|
||||||
float alpha) noexcept;
|
float alpha) noexcept;
|
||||||
|
|
||||||
|
/** Creates a colour using floating point hue, saturation, brightness values, and an 8-bit alpha.
|
||||||
|
|
||||||
|
All values must be between 0.0 and 1.0.
|
||||||
|
An alpha of 0x00 is completely transparent, alpha of 0xff is opaque.
|
||||||
|
Numbers outside the valid range will be clipped.
|
||||||
|
*/
|
||||||
|
static Colour fromHSV (float hue,
|
||||||
|
float saturation,
|
||||||
|
float brightness,
|
||||||
|
uint8 alpha) noexcept;
|
||||||
|
|
||||||
/** Creates a colour using floating point hue, saturation, lightness and alpha values.
|
/** Creates a colour using floating point hue, saturation, lightness and alpha values.
|
||||||
|
|
||||||
All values must be between 0.0 and 1.0.
|
All values must be between 0.0 and 1.0.
|
||||||
|
|
@ -146,6 +157,17 @@ public:
|
||||||
float lightness,
|
float lightness,
|
||||||
float alpha) noexcept;
|
float alpha) noexcept;
|
||||||
|
|
||||||
|
/** Creates a colour using floating point hue, saturation, lightness values, and an 8-bit alpha.
|
||||||
|
|
||||||
|
All values must be between 0.0 and 1.0.
|
||||||
|
An alpha of 0x00 is completely transparent, alpha of 0xff is opaque.
|
||||||
|
Numbers outside the valid range will be clipped.
|
||||||
|
*/
|
||||||
|
static Colour fromHSL (float hue,
|
||||||
|
float saturation,
|
||||||
|
float lightness,
|
||||||
|
uint8 alpha) noexcept;
|
||||||
|
|
||||||
/** Creates a colour using a PixelARGB object. This function assumes that the argb pixel is
|
/** Creates a colour using a PixelARGB object. This function assumes that the argb pixel is
|
||||||
not premultiplied.
|
not premultiplied.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue