X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2FBaseDisplay.hh;h=e4ef238723642993bea9cb04bd0ecb3e62b89987;hb=c5d10bd1dda362a41460f91619ae5e85a7665f6f;hp=921f6ecd1a76733d0a88f3059b1995367ec8a279;hpb=2f65b6533c41e392a72ccfd70ba486214cd9ee36;p=chaz%2Fopenbox diff --git a/src/BaseDisplay.hh b/src/BaseDisplay.hh index 921f6ecd..e4ef2387 100644 --- a/src/BaseDisplay.hh +++ b/src/BaseDisplay.hh @@ -50,6 +50,10 @@ private: unsigned int screen_number; std::string display_string; Rect rect; +#ifdef XINERAMA + RectList xinerama_areas; + bool xinerama_active; +#endif public: ScreenInfo(BaseDisplay *d, unsigned int num); @@ -66,6 +70,10 @@ public: inline unsigned int getHeight(void) const { return rect.height(); } inline const std::string& displayString(void) const { return display_string; } +#ifdef XINERAMA + inline const RectList &getXineramaAreas(void) const { return xinerama_areas; } + inline bool isXineramaActive(void) const { return xinerama_active; } +#endif }; @@ -77,10 +85,17 @@ private: }; BShape shape; -#ifndef NOCLOBBER +#ifdef XINERAMA + struct BXinerama { + bool extensions; + int event_basep, error_basep; + int major, minor; // version + }; + BXinerama xinerama; +#endif // XINERAMA + unsigned int MaskList[8]; size_t MaskListLength; -#endif // NOCLOBBER enum RunState { STARTUP, RUNNING, SHUTDOWN }; RunState run_state; @@ -116,6 +131,10 @@ public: inline bool hasShapeExtensions(void) const { return shape.extensions; } +#ifdef XINERAMA + inline bool hasXineramaExtensions(void) const + { return xinerama.extensions; } +#endif // XINERAMA inline bool doShutdown(void) const { return run_state == SHUTDOWN; } inline bool isStartup(void) const @@ -132,6 +151,10 @@ public: { return screenInfoList.size(); } inline int getShapeEventBase(void) const { return shape.event_basep; } +#ifdef XINERAMA + inline int getXineramaMajorVersion(void) const + { return xinerama.major; } +#endif // XINERAMA inline void shutdown(void) { run_state = SHUTDOWN; } inline void run(void) { run_state = RUNNING; } @@ -139,7 +162,8 @@ public: void grabButton(unsigned int button, unsigned int modifiers, Window grab_window, bool owner_events, unsigned int event_mask, int pointer_mode, - int keyboard_mode, Window confine_to, Cursor cursor) const; + int keyboard_mode, Window confine_to, Cursor cursor, + bool allow_scroll_lock) const; void ungrabButton(unsigned int button, unsigned int modifiers, Window grab_window) const;