definst->pseudo_colors = NULL;
+ definst->color_hash = g_hash_table_new(g_int_hash, g_int_equal);
+
switch (definst->visual->class) {
case TrueColor:
RrTrueColorSetup(definst);
if (inst) {
if (inst == definst) definst = NULL;
g_free(inst->pseudo_colors);
+ g_hash_table_destroy(inst->color_hash);
}
}
{
return (inst ? inst : definst)->pseudo_colors;
}
+
+GHashTable* RrColorHash (const RrInstance *inst)
+{
+ return (inst ? inst : definst)->color_hash;
+}
gint pseudo_bpc;
XColor *pseudo_colors;
+
+ GHashTable *color_hash;
};
+guint RrPseudoBPC (const RrInstance *inst);
+XColor* RrPseudoColors (const RrInstance *inst);
+GHashTable* RrColorHash (const RrInstance *inst);
+
#endif
gint RrRedMask (const RrInstance *inst);
gint RrGreenMask (const RrInstance *inst);
gint RrBlueMask (const RrInstance *inst);
-guint RrPseudoBPC (const RrInstance *inst);
-XColor* RrPseudoColors (const RrInstance *inst);
RrColor *RrColorNew (const RrInstance *inst, gint r, gint g, gint b);
RrColor *RrColorParse (const RrInstance *inst, gchar *colorname);