-// -*- mode: C++; indent-tabs-mode: nil; -*-
+// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
#ifndef __display_hh
#define __display_hh
namespace otk {
class ScreenInfo;
-class BGCCache;
+class GCCache;
//! Manages a single X11 display.
/*!
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 OBDisplay
+class Display
{
public:
//! The X display
- static Display *display;
+ static ::Display *display;
//! A List of ScreenInfo instances
typedef std::vector<ScreenInfo> ScreenInfoList;
private:
- //! Does the display have the Shape extention?
+ //! Does the display have the XKB extension?
+ static bool _xkb;
+ //! Base for events for the XKB extension
+ static int _xkb_event_basep;
+
+ //! Does the display have the Shape extension?
static bool _shape;
- //! Base for events for the Shape extention
+ //! Base for events for the Shape extension
static int _shape_event_basep;
- //! Does the display have the Xinerama extention?
+ //! Does the display have the Xinerama extension?
static bool _xinerama;
- //! Base for events for the Xinerama extention
+ //! Base for events for the Xinerama extension
static int _xinerama_event_basep;
//! A list of all possible combinations of keyboard lock masks
//! A cache for re-using GCs, used by the drawing objects
/*!
- @see BPen
- @see BFont
- @see BImage
- @see BImageControl
- @see BTexture
+ @see Pen
+ @see Font
+ @see Image
+ @see ImageControl
+ @see Texture
*/
- static BGCCache *_gccache;
+ static GCCache *_gccache;
- //! Handles X errors on the display
- /*!
+ // Handles X errors on the display
+ /*
Displays the error if compiled for debugging.
*/
- static int xerrorHandler(Display *d, XErrorEvent *e);
+ //static int xerrorHandler(::Display *d, XErrorEvent *e);
//! Prevents instantiation of the class
- OBDisplay();
+ Display();
public:
//! Initializes the class, opens the X display
/*!
- @see OBDisplay::display
+ @see Display::display
@param name The name of the X display to open. If it is null, the DISPLAY
environment variable is used instead.
*/
static void destroy();
//! Returns the GC cache for the application
- inline static BGCCache *gcCache() { return _gccache; }
+ inline static GCCache *gcCache() { return _gccache; }
//! Gets information on a specific screen
/*!
*/
static const ScreenInfo* screenInfo(int snum);
+ //! Find a ScreenInfo based on a root window
static const ScreenInfo* findScreen(Window root);
- //! Returns if the display has the shape extention available
+ //! Returns if the display has the xkb extension available
+ inline static bool xkb() { return _xkb; }
+ //! Returns the xkb extension's event base
+ inline static int xkbEventBase() { return _xkb_event_basep; }
+
+ //! Returns if the display has the shape extension available
inline static bool shape() { return _shape; }
//! Returns the shape extension's event base
inline static int shapeEventBase() { return _shape_event_basep; }
- //! Returns if the display has the xinerama extention available
+ //! Returns if the display has the xinerama extension available
inline static bool xinerama() { return _xinerama; }
inline static unsigned int numLockMask() { return _numLockMask; }