X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Feventhandler.cc;h=c867d809c8294aef3b70dfd43f7a2ff8a25b70bd;hb=5face4c6f35172761367f63ac0b6eaf62d84e532;hp=27ad5e736deb9e23ec2d860739d1c9f50b7f2c7b;hpb=e53fbcf092c40b22ccc4c5f23795e12c9862c338;p=chaz%2Fopenbox diff --git a/otk/eventhandler.cc b/otk/eventhandler.cc index 27ad5e73..c867d809 100644 --- a/otk/eventhandler.cc +++ b/otk/eventhandler.cc @@ -1,84 +1,108 @@ +// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*- + +#ifdef HAVE_CONFIG_H +# include "../config.h" +#endif + +#include "display.hh" #include "eventhandler.hh" namespace otk { -OtkEventHandler::OtkEventHandler() +EventHandler::EventHandler() +{ +} + + +EventHandler::~EventHandler() { } -OtkEventHandler::~OtkEventHandler() +void EventHandler::handle(const XEvent &e) { + switch(e.type){ + case KeyPress: + return keyPressHandler(e.xkey); + case KeyRelease: + return keyReleaseHandler(e.xkey); + case ButtonPress: + return buttonPressHandler(e.xbutton); + case ButtonRelease: + return buttonReleaseHandler(e.xbutton); + case MotionNotify: + return motionHandler(e.xmotion); + case EnterNotify: + return enterHandler(e.xcrossing); + case LeaveNotify: + return leaveHandler(e.xcrossing); + case FocusIn: + return focusHandler(e.xfocus); + case FocusOut: + return unfocusHandler(e.xfocus); + case Expose: + return exposeHandler(e.xexpose); + case GraphicsExpose: + return graphicsExposeHandler(e.xgraphicsexpose); + case NoExpose: + return noExposeEventHandler(e.xnoexpose); + case CirculateRequest: + return circulateRequestHandler(e.xcirculaterequest); + case ConfigureRequest: + return configureRequestHandler(e.xconfigurerequest); + case MapRequest: + return mapRequestHandler(e.xmaprequest); + case ResizeRequest: + return resizeRequestHandler(e.xresizerequest); + case CirculateNotify: + return circulateHandler(e.xcirculate); + case ConfigureNotify: + return configureHandler(e.xconfigure); + case CreateNotify: + return createHandler(e.xcreatewindow); + case DestroyNotify: + return destroyHandler(e.xdestroywindow); + case GravityNotify: + return gravityHandler(e.xgravity); + case MapNotify: + return mapHandler(e.xmap); + case MappingNotify: + return mappingHandler(e.xmapping); + case ReparentNotify: + return reparentHandler(e.xreparent); + case UnmapNotify: + return unmapHandler(e.xunmap); + case VisibilityNotify: + return visibilityHandler(e.xvisibility); + case ColormapNotify: + return colorMapHandler(e.xcolormap); + case ClientMessage: + return clientMessageHandler(e.xclient); + case PropertyNotify: + return propertyHandler(e.xproperty); + case SelectionClear: + return selectionClearHandler(e.xselectionclear); + case SelectionNotify: + 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 + ; + } } -int OtkEventHandler::handle(const XEvent &e) +void EventHandler::clientMessageHandler(const XClientMessageEvent &) { - switch(e.type){ - case KeyPress: - return keyPressHandler(e.xkey); - case KeyRelease: - return keyReleaseHandler(e.xkey); - case ButtonPress: - return buttonPressHandler(e.xbutton); - case ButtonRelease: - return buttonReleaseHandler(e.xbutton); - case EnterNotify: - return enterHandler(e.xcrossing); - case LeaveNotify: - return leaveHandler(e.xcrossing); - case FocusIn: - return focusHandler(e.xfocus); - case FocusOut: - return unfocusHandler(e.xfocus); - case Expose: - return exposeHandler(e.xexpose); - case GraphicsExpose: - return graphicsExposeHandler(e.xgraphicsexpose); - case NoExpose: - return noExposeEventHandler(e.xnoexpose); - case CirculateRequest: - return circulateRequestHandler(e.xcirculaterequest); - case ConfigureRequest: - return configureRequestHandler(e.xconfigurerequest); - case MapRequest: - return mapRequestHandler(e.xmaprequest); - case ResizeRequest: - return resizeRequestHandler(e.xresizerequest); - case CirculateNotify: - return circulateHandler(e.xcirculate); - case ConfigureNotify: - return configureHandler(e.xconfigure); - case CreateNotify: - return createHandler(e.xcreatewindow); - case DestroyNotify: - return destroyHandler(e.xdestroywindow); - case GravityNotify: - return gravityHandler(e.xgravity); - case MapNotify: - return mapHandler(e.xmap); - case MappingNotify: - return mappingHandler(e.xmapping); - case ReparentNotify: - return reparentHandler(e.xreparent); - case UnmapNotify: - return unmapHandler(e.xunmap); - case VisibilityNotify: - return visibilityHandler(e.xvisibility); - case ColormapNotify: - return colorMapHandler(e.xcolormap); - case ClientMessage: - return clientMessageHandler(e.xclient); - case PropertyNotify: - return propertyHandler(e.xproperty); - case SelectionClear: - return selectionClearHandler(e.xselectionclear); - case SelectionNotify: - return selectionHandler(e.xselection); - case SelectionRequest: - return selectionRequestHandler(e.xselectionrequest); - }; - return 0; + } }