X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=render%2Fcolor.h;h=26fa7afe61becc2bde9125d83c7b91a9c370f97b;hb=8bcd349e4e7078e663d3092a6ad6c7aff8eb05a0;hp=fb669fb54f5c5ff910ad8684921141efc7a4c26b;hpb=a18c1697b1176c26e74267f2ac7a153a2cf2c442;p=chaz%2Fopenbox diff --git a/render/color.h b/render/color.h index fb669fb5..26fa7afe 100644 --- a/render/color.h +++ b/render/color.h @@ -1,70 +1,51 @@ -#ifndef __color_h -#define __color_h +/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*- -#include -#include + color.h for the Openbox window manager + Copyright (c) 2003-2007 Dana Jansens + Copyright (c) 2003 Derek Foreman -#ifdef HAVE_STDINT_H -# include -#else -# ifdef HAVE_SYS_TYPES_H -# include -# endif -#endif + 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. -#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 */ + See the COPYING file for a copy of the GNU General Public License. +*/ -#if (G_BYTE_ORDER == G_BIG_ENDIAN) -#define default_red_offset 0 -#define default_green_offset 8 -#define default_blue_offset 16 -#define default_alpha_offset 24 -#define render_endian MSBFirst -#else -#define default_alpha_offset 24 -#define default_red_offset 16 -#define default_green_offset 8 -#define default_blue_offset 0 -#define render_endian LSBFirst -#endif /* G_BYTE_ORDER == G_BIG_ENDIAN */ +#ifndef __color_h +#define __color_h +#include "render.h" -typedef struct color_rgb { - int r; - int g; - int b; - unsigned long pixel; - GC gc; -} color_rgb; +#include +#include +#include -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); -void increase_depth(pixel32 *data, XImage *im); +struct _RrColor { + const RrInstance *inst; -extern int render_red_offset; -extern int render_green_offset; -extern int render_blue_offset; + gint r; + gint g; + gint b; + gulong pixel; + GC gc; + + gint key; + gint refcount; -extern int render_red_shift; -extern int render_green_shift; -extern int render_blue_shift; +#ifdef DEBUG + gint id; +#endif +}; -extern int render_red_mask; -extern int render_green_mask; -extern int render_blue_mask; +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; -#define pseudo_ncolors() (1 << (pseudo_bpc * 3)) -extern XColor *pseudo_colors; #endif /* __color_h */