X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Feventhandler.cc;h=6539d58790d435afca95de406ba0cd2f33549c50;hb=e9a7fc91bc4485a7fc3f9542dbba86b8d3823c7d;hp=9d37bcff25204e2d911f2788307f4120017f1366;hpb=12a95bfdb31595ec53d72adef4e0fd6bf1ccf218;p=chaz%2Fopenbox diff --git a/otk/eventhandler.cc b/otk/eventhandler.cc index 9d37bcff..6539d587 100644 --- a/otk/eventhandler.cc +++ b/otk/eventhandler.cc @@ -1,19 +1,23 @@ +// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*- + +#include "config.h" + +#include "display.hh" #include "eventhandler.hh" -#include namespace otk { -OtkEventHandler::OtkEventHandler() +EventHandler::EventHandler() { } -OtkEventHandler::~OtkEventHandler() +EventHandler::~EventHandler() { } -void OtkEventHandler::handle(const XEvent &e) +void EventHandler::handle(const XEvent &e) { switch(e.type){ case KeyPress: @@ -24,6 +28,8 @@ void OtkEventHandler::handle(const XEvent &e) return buttonPressHandler(e.xbutton); case ButtonRelease: return buttonReleaseHandler(e.xbutton); + case MotionNotify: + return motionHandler(e.xmotion); case EnterNotify: return enterHandler(e.xcrossing); case LeaveNotify: @@ -78,7 +84,23 @@ void OtkEventHandler::handle(const XEvent &e) return selectionHandler(e.xselection); case SelectionRequest: return selectionRequestHandler(e.xselectionrequest); - }; + default: +#ifdef SHAPE + if (e.type == display->shapeEventBase()) + return shapeHandler((*(XShapeEvent*)&e)); +#endif // SHAPE +#ifdef XKB + if (e.type == display->xkbEventBase()) + return xkbHandler((*(XkbEvent*)&e)); +#endif // XKB + ; + } +} + + +void EventHandler::clientMessageHandler(const XClientMessageEvent &) +{ + } }