implement tint_color()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6251 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
ce3857c204
commit
2f4343ad60
@ -405,8 +405,30 @@ ui_color(color_which which)
|
|||||||
_IMPEXP_BE rgb_color
|
_IMPEXP_BE rgb_color
|
||||||
tint_color(rgb_color color, float tint)
|
tint_color(rgb_color color, float tint)
|
||||||
{
|
{
|
||||||
// Internally calculates the color
|
rgb_color result;
|
||||||
// TODO: Implement
|
|
||||||
|
#define LIGHTEN(x) ((uint8)(255.0f - (255.0f - x) * tint))
|
||||||
|
#define DARKEN(x) ((uint8)(x * (2 - tint)))
|
||||||
|
|
||||||
|
if (tint < 1.0f)
|
||||||
|
{
|
||||||
|
result.red = LIGHTEN(color.red);
|
||||||
|
result.green = LIGHTEN(color.green);
|
||||||
|
result.blue = LIGHTEN(color.blue);
|
||||||
|
result.alpha = color.alpha;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result.red = DARKEN(color.red);
|
||||||
|
result.green = DARKEN(color.green);
|
||||||
|
result.blue = DARKEN(color.blue);
|
||||||
|
result.alpha = color.alpha;
|
||||||
|
}
|
||||||
|
|
||||||
|
#undef LIGHTEN
|
||||||
|
#undef DARKEN
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user