X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=otk%2Fdisplay.hh;h=ccce6ae1bfbc9f19b3c721fbc75e49c5692eb48c;hb=fabb6e8c1faa8339730cc7f56f84eb0a7e8b6c4f;hp=5f658cd3a71a8770a531f1505b4853e6f7c7ae0b;hpb=00bc993775b916de76772bdc5e31618076194797;p=chaz%2Fopenbox diff --git a/otk/display.hh b/otk/display.hh index 5f658cd3..ccce6ae1 100644 --- a/otk/display.hh +++ b/otk/display.hh @@ -6,12 +6,11 @@ extern "C" { #include } -#include - namespace otk { class ScreenInfo; class GCCache; +class RenderControl; class Display; @@ -21,10 +20,6 @@ extern Display *display; //! Manages a single X11 display. class Display { -public: - //! A List of ScreenInfo instances - typedef std::vector ScreenInfoList; - private: //! The X display ::Display *_display; @@ -57,7 +52,11 @@ private: 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 /*! @@ -100,6 +99,9 @@ public: //! 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