+// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
#ifndef __eventhandler__hh
#define __eventhandler__hh
#ifdef SHAPE
#include <X11/extensions/shape.h>
#endif // SHAPE
+
+#ifdef XKB
+#include <X11/XKBlib.h>
+#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);
//! 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 &) {}
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:
};