X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=render%2Finstance.c;h=f037a024c85156b1e1d01e5d685f56710ee11133;hb=804b12d46ab9eb6cd9d5b60931ae776be160536c;hp=bd2b537e371268a9d7490b030aa75b3f3fe8eee2;hpb=3f32dfa87e08556d7f6a58efab9b7479e515be26;p=chaz%2Fopenbox diff --git a/render/instance.c b/render/instance.c index bd2b537e..f037a024 100644 --- a/render/instance.c +++ b/render/instance.c @@ -3,8 +3,8 @@ static RrInstance *definst = NULL; -void RrTrueColorSetup (RrInstance *inst); -void RrPseudoColorSetup (RrInstance *inst); +static void RrTrueColorSetup (RrInstance *inst); +static void RrPseudoColorSetup (RrInstance *inst); RrInstance* RrInstanceNew (Display *display, gint screen) { @@ -18,6 +18,8 @@ RrInstance* RrInstanceNew (Display *display, gint screen) 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); @@ -72,7 +74,6 @@ void RrPseudoColorSetup (RrInstance *inst) int tr, tg, tb, n, r, g, b, i, incolors, ii; unsigned long dev; int cpc, _ncolors; - g_message("Initializing PseudoColor RenderControl\n"); /* determine the number of colors and the bits-per-color */ inst->pseudo_bpc = 2; /* XXX THIS SHOULD BE A USER OPTION */ @@ -158,6 +159,7 @@ void RrInstanceFree (RrInstance *inst) if (inst) { if (inst == definst) definst = NULL; g_free(inst->pseudo_colors); + g_hash_table_destroy(inst->color_hash); } } @@ -245,3 +247,8 @@ XColor *RrPseudoColors (const RrInstance *inst) { return (inst ? inst : definst)->pseudo_colors; } + +GHashTable* RrColorHash (const RrInstance *inst) +{ + return (inst ? inst : definst)->color_hash; +}