X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Feventdispatcher.hh;h=c62e24b925c19e3d6a19ea48b3c5c54e446cca33;hb=bc88d310fea71823fb2c61d071ff499579bffaba;hp=b56445a4bbda18d3da599ebcabf09f505254d606;hpb=56d7b547ae156e17c8e03ada3b80468f5a0b2605;p=chaz%2Fopenbox diff --git a/otk/eventdispatcher.hh b/otk/eventdispatcher.hh index b56445a4..c62e24b9 100644 --- a/otk/eventdispatcher.hh +++ b/otk/eventdispatcher.hh @@ -16,19 +16,23 @@ public: virtual ~OtkEventDispatcher(); virtual void clearAllHandlers(void); - virtual void registerHandler(Window id, OtkEventHandler *handler); + virtual void registerHandler(Window id, otk::OtkEventHandler *handler); virtual void clearHandler(Window id); virtual void dispatchEvents(void); - inline void setFallbackHandler(OtkEventHandler *fallback) + inline void setFallbackHandler(otk::OtkEventHandler *fallback) { _fallback = fallback; } - OtkEventHandler *getFallbackHandler(void) const { return _fallback; } + otk::OtkEventHandler *getFallbackHandler(void) const { return _fallback; } //! Sets an event handler that gets all events for all handlers after //! any specific handlers have received them - inline void setMasterHandler(OtkEventHandler *master) + inline void setMasterHandler(otk::OtkEventHandler *master) { _master = master; } - OtkEventHandler *getMasterHandler(void) const { return _master; } + otk::OtkEventHandler *getMasterHandler(void) const { return _master; } + + otk::OtkEventHandler *findHandler(Window win); + + inline Time lastTime() const { return _lasttime; } private: OtkEventMap _map; @@ -36,7 +40,10 @@ private: OtkEventHandler *_master; //! The time at which the last XEvent with a time was received - Time _lasttime; // XXX: store this! also provide an accessor! + Time _lasttime; + + void dispatch(Window win, const XEvent &e); + void dispatchFocus(const XEvent &e); }; }