]> icculus.org git repositories - dana/openbox.git/blob - openbox/extensions.h
check for damage and render extensions if going to use composite. require them for...
[dana/openbox.git] / openbox / extensions.h
1 /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
2
3    extensions.h for the Openbox window manager
4    Copyright (c) 2006        Mikael Magnusson
5    Copyright (c) 2003-2007   Dana Jansens
6
7    This program is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 2 of the License, or
10    (at your option) any later version.
11
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16
17    See the COPYING file for a copy of the GNU General Public License.
18 */
19
20 #ifndef __extensions_h
21 #define __extensions_h
22
23 #include "geom.h"
24
25 #include <X11/Xlib.h>
26 #include <X11/Xutil.h> /* shape.h uses Region which is in here */
27 #ifdef    XKB
28 #include <X11/XKBlib.h>
29 #endif
30 #ifdef    SHAPE
31 #include <X11/extensions/shape.h>
32 #endif
33 #ifdef    XINERAMA
34 #include <X11/extensions/Xinerama.h>
35 #endif
36 #ifdef    XRANDR
37 #include <X11/extensions/Xrandr.h>
38 #endif
39 #ifdef    SYNC
40 #include <X11/extensions/sync.h>
41 #endif
42 #ifdef    USE_XCOMPOSITE
43 #include <X11/extensions/Xcomposite.h>
44 #include <X11/extensions/Xdamage.h>
45 #include <X11/extensions/Xrender.h>
46 #endif
47
48 #include <glib.h>
49
50 /*! Does the display have the XKB extension? */
51 extern gboolean extensions_xkb;
52 /*! Base for events for the XKB extension */
53 extern gint extensions_xkb_event_basep;
54
55 /*! Does the display have the Shape extension? */
56 extern gboolean extensions_shape;
57 /*! Base for events for the Shape extension */
58 extern gint extensions_shape_event_basep;
59
60 /*! Does the display have the Xinerama extension? */
61 extern gboolean extensions_xinerama;
62 /*! Base for events for the Xinerama extension */
63 extern gint extensions_xinerama_event_basep;
64
65 /*! Does the display have the RandR extension? */
66 extern gboolean extensions_randr;
67 /*! Base for events for the Randr extension */
68 extern gint extensions_randr_event_basep;
69
70 /*! Does the display have the Sync extension? */
71 extern gboolean extensions_sync;
72 /*! Base for events for the Sync extension */
73 extern gint extensions_sync_event_basep;
74
75 /*! Does the display have the Composite extension? */
76 extern gboolean extensions_comp;
77 /*! Base for events for the Composite extension */
78 extern gint extensions_comp_event_basep;
79
80 void extensions_query_all();
81
82 void extensions_xinerama_screens(Rect **areas, guint *nxin);
83   
84 #endif