From 9b6e5f9cf49df78be25720f9c4b33a733b856c9b Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Sat, 18 Jan 2003 07:23:28 +0000 Subject: provide RenderControls to all otk from the display class. initialize them all there. try use bitshifts instead of color tables in the TrueRenderControl class for finding correct rgbs. Move the image/pixmap/xftdraw into the surface class, and it maintains them, recreating them when it resizes. --- otk/display.hh | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'otk/display.hh') 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 -- cgit v1.2.3