-// -*- mode: C++; indent-tabs-mode: nil; -*-
+// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
#ifndef __screeninfo_hh
#define __screeninfo_hh
-#include "util.hh"
+#include "size.hh"
+#include "rect.hh"
extern "C" {
#include <X11/Xlib.h>
}
#include <string>
+#include <vector>
namespace otk {
class ScreenInfo {
private:
- Visual *visual;
- Window root_window;
- Colormap colormap;
-
- int depth;
- unsigned int screen_number;
- std::string display_string;
- Rect rect;
-#ifdef XINERAMA
- RectList xinerama_areas;
- bool xinerama_active;
-#endif
+ int _screen;
+ std::string _display_string;
+ Size _size;
+ std::vector<Rect> _xinerama_areas;
+ bool _xinerama_active;
public:
- ScreenInfo(unsigned int num);
-
- inline Visual *getVisual(void) const { return visual; }
- inline Window getRootWindow(void) const { return root_window; }
- inline Colormap getColormap(void) const { return colormap; }
- inline int getDepth(void) const { return depth; }
- inline unsigned int getScreenNumber(void) const
- { return screen_number; }
- inline const Rect& getRect(void) const { return rect; }
- inline unsigned int getWidth(void) const { return rect.width(); }
- inline unsigned int getHeight(void) const { return rect.height(); }
- inline const std::string& displayString(void) const
- { return display_string; }
-#ifdef XINERAMA
- inline const RectList &getXineramaAreas(void) const { return xinerama_areas; }
- inline bool isXineramaActive(void) const { return xinerama_active; }
-#endif
+ ScreenInfo(int num);
+
+ inline Visual *visual() const { return _visual; }
+ inline Window rootWindow() const { return _root_window; }
+ inline Colormap colormap() const { return _colormap; }
+ inline int depth() const { return _depth; }
+ inline int screen() const { return _screen; }
+ inline const Size& size() const { return _size; }
+ inline const std::string& displayString() const { return _display_string; }
+ inline const std::vector<Rect> &xineramaAreas() const
+ { return _xinerama_areas; }
+ inline bool isXineramaActive() const { return _xinerama_active; }
};
}