X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=render%2Fcolor.h;h=26fa7afe61becc2bde9125d83c7b91a9c370f97b;hb=b143beedb403e17cfa4437c3354a53857de57008;hp=3114f4c71871cbd17913bd208d8d23c190cf2581;hpb=214fa8714ea0d2182c155eeb4b32ec32d7df337f;p=chaz%2Fopenbox diff --git a/render/color.h b/render/color.h index 3114f4c7..26fa7afe 100644 --- a/render/color.h +++ b/render/color.h @@ -1,62 +1,51 @@ +/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*- + + color.h for the Openbox window manager + Copyright (c) 2003-2007 Dana Jansens + Copyright (c) 2003 Derek Foreman + + 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. +*/ + #ifndef __color_h #define __color_h +#include "render.h" + #include #include +#include -#ifdef HAVE_STDINT_H -# include -#else -# ifdef HAVE_SYS_TYPES_H -# include -# endif -#endif - +struct _RrColor { + const RrInstance *inst; -#ifdef HAVE_STDINT_H -typedef uint32_t pixel32; -typedef uint16_t pixel16; -#else -typedef u_int32_t pixel32; -typedef u_int16_t pixel16; -#endif /* HAVE_STDINT_H */ - -#if (G_ENDIAN == G_BIG_ENDIAN) -#define default_red_shift 0 -#define default_green_shift 8 -#define default_blue_shift 16 -#define endian MSBFirst -#else -#define default_red_shift 16 -#define default_green_shift 8 -#define default_blue_shift 0 -#define endian LSBFirst -#endif /* G_ENDIAN == G_BIG_ENDIAN */ - - -typedef struct color_rgb { - int r; - int g; - int b; - unsigned long pixel; + gint r; + gint g; + gint b; + gulong pixel; GC gc; -} color_rgb; -void color_allocate_gc(color_rgb *in); -XColor *pickColor(int r, int g, int b); -color_rgb *color_parse(char *colorname); -color_rgb *color_new(int r, int g, int b); -void color_free(color_rgb *in); -void reduce_depth(pixel32 *data, XImage *im); + gint key; + gint refcount; -extern int render_red_offset; -extern int render_green_offset; -extern int render_blue_offset; +#ifdef DEBUG + gint id; +#endif +}; -extern int render_red_shift; -extern int render_green_shift; -extern int render_blue_shift; +void RrColorAllocateGC(RrColor *in); +XColor *RrPickColor(const RrInstance *inst, gint r, gint g, gint b); +void RrReduceDepth(const RrInstance *inst, RrPixel32 *data, XImage *im); +void RrIncreaseDepth(const RrInstance *inst, RrPixel32 *data, XImage *im); -extern int pseudo_bpc; -extern XColor *pseudo_colors; #endif /* __color_h */