openbox/otk/eventhandler.cc

108 lines
2.7 KiB
C++

// -*- 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 {
EventHandler::EventHandler()
{
}
EventHandler::~EventHandler()
{
}
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
;
}
}
void EventHandler::clientMessageHandler(const XClientMessageEvent &)
{
}
}