X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=render%2Finstance.c;h=0095ed8e570848c0f66e874208f89195b9cf4106;hb=c4e4760c41f10aae6af19a4363cb247c71edee4b;hp=bd2b537e371268a9d7490b030aa75b3f3fe8eee2;hpb=3f32dfa87e08556d7f6a58efab9b7479e515be26;p=chaz%2Fopenbox diff --git a/render/instance.c b/render/instance.c index bd2b537e..0095ed8e 100644 --- a/render/instance.c +++ b/render/instance.c @@ -1,10 +1,28 @@ +/* -*- indent-tabs-mode: t; tab-width: 4; c-basic-offset: 4; -*- + + instance.c for the Openbox window manager + Copyright (c) 2003 Ben Jansens + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + See the COPYING file for a copy of the GNU General Public License. +*/ + #include "render.h" #include "instance.h" 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 +36,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 +92,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 +177,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 +265,8 @@ XColor *RrPseudoColors (const RrInstance *inst) { return (inst ? inst : definst)->pseudo_colors; } + +GHashTable* RrColorHash (const RrInstance *inst) +{ + return (inst ? inst : definst)->color_hash; +}