diff options
author | Benjamin Otte <otte@redhat.com> | 2011-10-17 00:32:25 -0700 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2011-10-17 00:32:25 -0700 |
commit | b578d2982a32a7a28cbc1f9a3f808c15afbffc2c (patch) | |
tree | 659ca4ce7325e3582407ad9bfa6b006c4357e89a | |
parent | 5bffe9f2aebdbc3007c826fafcca48ca70439af4 (diff) |
geom: Add game_color_to_gray()
Returns the gray value of a color. Alpha is ignored.
-rw-r--r-- | libgame/game-geom-basics.c | 10 | ||||
-rw-r--r-- | libgame/game-geom-basics.h | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/libgame/game-geom-basics.c b/libgame/game-geom-basics.c index 880084f..4448521 100644 --- a/libgame/game-geom-basics.c +++ b/libgame/game-geom-basics.c @@ -325,6 +325,16 @@ hls_to_rgb (GameColor *dest, const GameHLS *src) } } +double +game_color_to_gray (const GameColor *color) +{ + g_return_val_if_fail (color != NULL, 0.5); + + return color->r * 0.298828125 + + color->g * 0.587890625 + + color->b * 0.11328125; +} + /** * game_color_shade: * @dest: result of shading diff --git a/libgame/game-geom-basics.h b/libgame/game-geom-basics.h index 57d8751..49a2d1a 100644 --- a/libgame/game-geom-basics.h +++ b/libgame/game-geom-basics.h @@ -102,6 +102,7 @@ GType game_color_get_type (void) G_GNUC_CONST; char * game_color_to_string (const GameColor * color); gboolean game_color_from_string (GameColor * color, const char * string); +double game_color_to_gray (const GameColor * color); void game_color_shade (GameColor * dest, const GameColor * src, double factor); |