better paths
[mikachu/openbox.git] / otk_c / display.h
1 // -*- mode: C; indent-tabs-mode: nil; -*-
2 #ifndef   __display_h
3 #define   __display_h
4
5 #include <X11/Xlib.h>
6 #include <Python.h>
7
8 typedef OtkScreenInfo;
9 typedef OtkGCCache;
10
11 typedef struct {
12   PyObject_HEAD
13   
14   //! The X display
15   Display *display;
16   
17   //! Does the display have the Shape extention?
18   Bool shape;
19   //! Base for events for the Shape extention
20   int  shape_event_basep;
21
22   //! Does the display have the Xinerama extention?
23   Bool xinerama;
24   //! Base for events for the Xinerama extention
25   int  xinerama_event_basep;
26
27   //! A list of all possible combinations of keyboard lock masks
28   unsigned int mask_list[8];
29
30   //! The number of requested grabs on the display
31   int grab_count;
32
33   //! A list of information for all screens on the display
34   PyObject *screenInfoList; // PyListObject
35
36   //! A cache for re-using GCs, used by the drawing objects
37   /*!
38     @see BPen
39     @see BFont
40     @see BImage
41     @see BImageControl
42     @see BTexture
43   */
44   OtkGCCache *gccache;
45 } OtkDisplay;
46
47 //! Creates a struct, opens the X display
48 /*!
49   @see OBDisplay::display
50   @param name The name of the X display to open. If it is null, the DISPLAY
51   environment variable is used instead.
52 */
53 PyObject *OtkDisplay_New(char *name);
54
55 //! Grabs the display
56 void OtkDisplay_Grab(OtkDisplay *self);
57
58 //! Ungrabs the display
59 void OtkDisplay_Ungrab(OtkDisplay *self);
60
61 #endif // __display_h