Add include of cairo.h when using librsvg
[dana/openbox.git] / obrender / instance.h
1 /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
2
3    instance.h for the Openbox window manager
4    Copyright (c) 2003-2007   Dana Jansens
5
6    This program is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 2 of the License, or
9    (at your option) any later version.
10
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15
16    See the COPYING file for a copy of the GNU General Public License.
17 */
18
19 #ifndef __render_instance_h
20 #define __render_instance_h
21
22 #include <X11/Xlib.h>
23 #include <glib.h>
24 #include <pango/pangoxft.h>
25
26 struct _RrInstance {
27     Display *display;
28     gint screen;
29
30     Visual *visual;
31     gint depth;
32     Colormap colormap;
33     PangoContext *pango;
34
35     gint red_offset;
36     gint green_offset;
37     gint blue_offset;
38
39     gint red_shift;
40     gint green_shift;
41     gint blue_shift;
42
43     gint red_mask;
44     gint green_mask;
45     gint blue_mask;
46
47     gint pseudo_bpc;
48     XColor *pseudo_colors;
49
50     GHashTable *color_hash;
51 };
52
53 guint       RrPseudoBPC    (const RrInstance *inst);
54 XColor*     RrPseudoColors (const RrInstance *inst);
55 GHashTable* RrColorHash    (const RrInstance *inst);
56
57 #endif