2 * Copyright (c) 2007, 2008, 2009, Czirkos Zoltan <cirix@fw.hu>
4 * Permission to use, copy, modify, and distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
21 typedef guint32 GdColor
;
26 1 for c64 colors (bb=index)
27 3 for c64dtv (bb=index)
28 2 for atari colors (bb=index)
31 typedef enum _color_type
{
34 GD_COLOR_TYPE_C64DTV
=2,
35 GD_COLOR_TYPE_ATARI
=3,
36 GD_COLOR_TYPE_UNKNOWN
/* should be the last one */
39 const char ** gd_color_get_c64_palette_names();
40 const char ** gd_color_get_atari_palette_names();
41 const char ** gd_color_get_c64dtv_palette_names();
43 const char ** gd_color_get_palette_types_names();
46 const char* gd_color_get_string(GdColor color
);
47 const char* gd_color_get_visible_name(GdColor color
);
49 unsigned int gd_color_get_r(GdColor color
);
50 unsigned int gd_color_get_g(GdColor color
);
51 unsigned int gd_color_get_b(GdColor color
);
52 GdColor
gd_color_get_rgb(GdColor color
);
54 GdColor
gd_color_get_from_string(const char *color
);
55 GdColor
gd_color_get_from_rgb(int r
, int g
, int b
);
56 GdColor
gd_color_get_from_hsv(double h
, double s
, double v
);
58 GdColor
gd_c64_color(int index
);
59 GdColor
gd_atari_color(int index
);
60 GdColor
gd_atari_color_huesat(int hue
, int sat
);
61 GdColor
gd_c64dtv_color(int index
);
62 GdColor
gd_c64dtv_color_huesat(int hue
, int sat
);
64 gboolean
gd_color_is_c64(GdColor color
);
65 gboolean
gd_color_is_atari(GdColor color
);
66 gboolean
gd_color_is_dtv(GdColor color
);
67 gboolean
gd_color_is_rgb(GdColor color
);
68 gboolean
gd_color_is_unknown(GdColor color
);
70 int gd_color_get_c64_index(GdColor color
);
71 int gd_color_get_c64_index_try(GdColor color
);
73 GdColor
gd_gdash_color(int c
);
75 /* traditional c64 color indexes. */
76 #define GD_COLOR_INDEX_BLACK (0)
77 #define GD_COLOR_INDEX_WHITE (1)
78 #define GD_COLOR_INDEX_RED (2)
79 #define GD_COLOR_INDEX_PURPLE (4)
80 #define GD_COLOR_INDEX_CYAN (3)
81 #define GD_COLOR_INDEX_GREEN (5)
82 #define GD_COLOR_INDEX_BLUE (6)
83 #define GD_COLOR_INDEX_YELLOW (7)
84 #define GD_COLOR_INDEX_ORANGE (8)
85 #define GD_COLOR_INDEX_BROWN (9)
86 #define GD_COLOR_INDEX_LIGHTRED (10)
87 #define GD_COLOR_INDEX_GRAY1 (11)
88 #define GD_COLOR_INDEX_GRAY2 (12)
89 #define GD_COLOR_INDEX_LIGHTGREEN (13)
90 #define GD_COLOR_INDEX_LIGHTBLUE (14)
91 #define GD_COLOR_INDEX_GRAY3 (15)
93 #define GD_GDASH_BLACK (gd_gdash_color(GD_COLOR_INDEX_BLACK))
94 #define GD_GDASH_WHITE (gd_gdash_color(GD_COLOR_INDEX_WHITE))
95 #define GD_GDASH_RED (gd_gdash_color(GD_COLOR_INDEX_RED))
96 #define GD_GDASH_PURPLE (gd_gdash_color(GD_COLOR_INDEX_PURPLE))
97 #define GD_GDASH_CYAN (gd_gdash_color(GD_COLOR_INDEX_CYAN))
98 #define GD_GDASH_GREEN (gd_gdash_color(GD_COLOR_INDEX_GREEN))
99 #define GD_GDASH_BLUE (gd_gdash_color(GD_COLOR_INDEX_BLUE))
100 #define GD_GDASH_YELLOW (gd_gdash_color(GD_COLOR_INDEX_YELLOW))
101 #define GD_GDASH_ORANGE (gd_gdash_color(GD_COLOR_INDEX_ORANGE))
102 #define GD_GDASH_BROWN (gd_gdash_color(GD_COLOR_INDEX_BROWN))
103 #define GD_GDASH_LIGHTRED (gd_gdash_color(GD_COLOR_INDEX_LIGHTRED))
104 #define GD_GDASH_GRAY1 (gd_gdash_color(GD_COLOR_INDEX_GRAY1))
105 #define GD_GDASH_GRAY2 (gd_gdash_color(GD_COLOR_INDEX_GRAY2))
106 #define GD_GDASH_LIGHTGREEN (gd_gdash_color(GD_COLOR_INDEX_LIGHTGREEN))
107 #define GD_GDASH_LIGHTBLUE (gd_gdash_color(GD_COLOR_INDEX_LIGHTBLUE))
108 #define GD_GDASH_GRAY3 (gd_gdash_color(GD_COLOR_INDEX_GRAY3))
110 #define GD_GDASH_MIDDLEBLUE (gd_gdash_color(16))
112 #define GD_COLOR_INVALID (0xFFFFFFFF)