4 #include <gdk/gdktypes.h>
8 #endif /* __cplusplus */
10 typedef struct _GdkColorContextDither GdkColorContextDither;
11 typedef struct _GdkColorContext GdkColorContext;
14 /* Color Context modes.
16 * GDK_CC_MODE_UNDEFINED - unknown
17 * GDK_CC_MODE_BW - default B/W
18 * GDK_CC_MODE_STD_CMAP - has a standard colormap
19 * GDK_CC_MODE_TRUE - is a TrueColor/DirectColor visual
20 * GDK_CC_MODE_MY_GRAY - my grayramp
21 * GDK_CC_MODE_PALETTE - has a pre-allocated palette
26 GDK_CC_MODE_UNDEFINED,
32 } GdkColorContextMode;
34 struct _GdkColorContextDither
36 gint fast_rgb[32][32][32]; /* quick look-up table for faster rendering */
37 gint fast_err[32][32][32]; /* internal RGB error information */
38 gint fast_erg[32][32][32];
39 gint fast_erb[32][32][32];
42 struct _GdkColorContext
45 GdkColormap *colormap;
47 gint num_colors; /* available no. of colors in colormap */
48 gint max_colors; /* maximum no. of colors */
49 gint num_allocated; /* no. of allocated colors */
51 GdkColorContextMode mode;
52 gint need_to_free_colormap;
53 GdkAtom std_cmap_atom;
55 gulong *clut; /* color look-up table */
56 GdkColor *cmap; /* colormap */
58 GHashTable *color_hash; /* hash table of allocated colors */
59 GdkColor *palette; /* preallocated palette */
60 gint num_palette; /* size of palette */
62 GdkColorContextDither *fast_dither; /* fast dither matrix */
91 GdkColorContext *gdk_color_context_new (GdkVisual *visual,
92 GdkColormap *colormap);
94 GdkColorContext *gdk_color_context_new_mono (GdkVisual *visual,
95 GdkColormap *colormap);
97 void gdk_color_context_free (GdkColorContext *cc);
99 gulong gdk_color_context_get_pixel (GdkColorContext *cc,
104 void gdk_color_context_get_pixels (GdkColorContext *cc,
111 void gdk_color_context_get_pixels_incremental (GdkColorContext *cc,
120 gint gdk_color_context_query_color (GdkColorContext *cc,
122 gint gdk_color_context_query_colors (GdkColorContext *cc,
126 gint gdk_color_context_add_palette (GdkColorContext *cc,
130 void gdk_color_context_init_dither (GdkColorContext *cc);
131 void gdk_color_context_free_dither (GdkColorContext *cc);
133 gulong gdk_color_context_get_pixel_from_palette (GdkColorContext *cc,
138 guchar gdk_color_context_get_index_from_palette (GdkColorContext *cc,
147 #endif /* __cplusplus */
149 #endif /* __GDK_CC_H__ */