#include <X11/Xlib.h>
}
-#include <vector>
-
namespace otk {
class ScreenInfo;
class GCCache;
+class RenderControl;
class Display;
extern Display *display;
//! Manages a single X11 display.
-/*!
- This class is static, and cannot be instantiated.
- Use the initialize() method to open the display and ready it for use.
- Use the destroy() method to close it and clean up the class' data.
-*/
class Display
{
-public:
- //! A List of ScreenInfo instances
- typedef std::vector<ScreenInfo> ScreenInfoList;
-
private:
//! The X display
::Display *_display;
int _grab_count;
//! A list of information for all screens on the display
- ScreenInfoList _screenInfoList;
+ ScreenInfo** _screeninfo_list;
+
+ //! A list of RenderControl objects, which are used for all graphics on a
+ //! screen
+ RenderControl** _rendercontrol_list;
//! A cache for re-using GCs, used by the drawing objects
/*!
//! Find a ScreenInfo based on a root window
const ScreenInfo* findScreen(Window root);
+ //! Gets the RenderControl for a screen
+ const RenderControl *renderControl(int snum);
+
//! Returns if the display has the xkb extension available
inline bool xkb() const { return _xkb; }
//! Returns the xkb extension's event base