X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Fdisplay.hh;h=9402a8e7c1f79481481791673142cc623820fa3b;hb=9b6e5f9cf49df78be25720f9c4b33a733b856c9b;hp=5f658cd3a71a8770a531f1505b4853e6f7c7ae0b;hpb=00bc993775b916de76772bdc5e31618076194797;p=chaz%2Fopenbox diff --git a/otk/display.hh b/otk/display.hh index 5f658cd3..9402a8e7 100644 --- a/otk/display.hh +++ b/otk/display.hh @@ -12,6 +12,7 @@ namespace otk { class ScreenInfo; class GCCache; +class RenderControl; class Display; @@ -21,10 +22,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 +54,11 @@ private: int _grab_count; //! A list of information for all screens on the display - ScreenInfoList _screenInfoList; + std::vector _screenInfoList; + + //! A list of RenderControl objects, which are used for all graphics on a + //! screen + std::vector _renderControlList; //! A cache for re-using GCs, used by the drawing objects /*! @@ -100,6 +101,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