X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Feventhandler.hh;h=f2457568d81ada4fd9e46cde254948e2fd5f320c;hb=5face4c6f35172761367f63ac0b6eaf62d84e532;hp=bb4f6d6ba4fae9eee3c9093210e13353fc8bab36;hpb=1d897f432e54400cb2a0e1499712782b336fd728;p=chaz%2Fopenbox diff --git a/otk/eventhandler.hh b/otk/eventhandler.hh index bb4f6d6b..f2457568 100644 --- a/otk/eventhandler.hh +++ b/otk/eventhandler.hh @@ -1,3 +1,4 @@ +// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*- #ifndef __eventhandler__hh #define __eventhandler__hh @@ -7,11 +8,16 @@ extern "C" { #ifdef SHAPE #include #endif // SHAPE + +#ifdef XKB +#include +#endif // XKB + } namespace otk { -class OtkEventHandler{ +class EventHandler { public: //! Dispatches events to one of the other handlers based on their type. virtual void handle(const XEvent &e); @@ -28,6 +34,9 @@ public: //! Called whenever a button of the pointer is released. virtual void buttonReleaseHandler(const XButtonEvent &) {} + //! Called whenever the pointer moved + virtual void motionHandler(const XMotionEvent &) {} + //! Called whenever the pointer enters a window. virtual void enterHandler(const XCrossingEvent &) {} @@ -117,18 +126,23 @@ public: virtual void clientMessageHandler(const XClientMessageEvent &); #if defined(SHAPE) || defined(DOXYGEN_IGNORE) - //! Called when a shape extention event fires - virtual void shapeHandler(const XShapeEvent &) {}; + //! Called when a shape extension event fires + virtual void shapeHandler(const XShapeEvent &) {} #endif // SHAPE - virtual ~OtkEventHandler(); +#if defined(XKB) || defined(DOXYGEN_IGNORE) + //! Called when an xkb extension event fires + virtual void xkbHandler(const XkbEvent &) {} +#endif // XKB + + virtual ~EventHandler(); protected: - /*! Constructor for the XEventHandler class. - This is protected so that XEventHandlers can't be instantiated on their + /*! Constructor for the EventHandler class. + This is protected so that EventHandlers can't be instantiated on their own. */ - OtkEventHandler(); + EventHandler(); private: };