]> Dogcows Code - chaz/openbox/blobdiff - otk/eventdispatcher.hh
keep track of the last input event time
[chaz/openbox] / otk / eventdispatcher.hh
index 28741d95bff9d942d46689501a371385824e0c92..6a66afd1e632c23ef85eb7fcd48bbbe1246ff763 100644 (file)
@@ -16,20 +16,36 @@ 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(otk::OtkEventHandler *master)
+  { _master = master; }
+  otk::OtkEventHandler *getMasterHandler(void) const { return _master; }
+
+  otk::OtkEventHandler *findHandler(Window win);
+
+  inline Time lastTime() const { return _lasttime; }
+  
 private:
   OtkEventMap _map;
   OtkEventHandler *_fallback;
+  OtkEventHandler *_master;
+  Window _focus;
+  XEvent _focus_e;
+  XEvent _crossing_e;
 
   //! 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(const XEvent &e);
 };
 
 }
This page took 0.020653 seconds and 4 git commands to generate.