]> icculus.org git repositories - mikachu/openbox.git/blob - otk/screeninfo.hh
wrapper updates
[mikachu/openbox.git] / otk / screeninfo.hh
1 // -*- mode: C++; indent-tabs-mode: nil; -*-
2 #ifndef   __screeninfo_hh
3 #define   __screeninfo_hh
4
5 #include "rect.hh"
6
7 extern "C" {
8 #include <X11/Xlib.h>
9 }
10
11 #include <string>
12
13 namespace otk {
14
15 class ScreenInfo {
16 private:
17   Visual *_visual;
18   Window _root_window;
19   Colormap _colormap;
20
21   int _depth;
22   unsigned int _screen;
23   std::string _display_string;
24   Rect _rect;
25 #ifdef XINERAMA
26   RectList _xinerama_areas;
27   bool _xinerama_active;
28 #endif
29
30 public:
31   ScreenInfo(unsigned int num);
32
33   inline Visual *visual() const { return _visual; }
34   inline Window rootWindow() const { return _root_window; }
35   inline Colormap colormap() const { return _colormap; }
36   inline int depth() const { return _depth; }
37   inline unsigned int screen() const { return _screen; }
38   inline const Rect& rect() const { return _rect; }
39   inline unsigned int width() const { return _rect.width(); }
40   inline unsigned int height() const { return _rect.height(); }
41   inline const std::string& displayString() const { return _display_string; }
42 #ifdef XINERAMA
43   inline const RectList &xineramaAreas() const { return _xinerama_areas; }
44   inline bool isXineramaActive() const { return _xinerama_active; }
45 #endif
46 };
47
48 }
49
50 #endif // __screeninfo_hh