]> Dogcows Code - chaz/openbox/blobdiff - otk/eventdispatcher.hh
formatting
[chaz/openbox] / otk / eventdispatcher.hh
index 28741d95bff9d942d46689501a371385824e0c92..03f362993628cd7ed4367b68d1248b358d251e8b 100644 (file)
@@ -1,3 +1,4 @@
+// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
 #ifndef __eventdispatcher
 #define __eventdispatcher
 
@@ -7,29 +8,43 @@
 
 namespace otk {
 
-typedef std::map<unsigned int, OtkEventHandler *> OtkEventMap;
+typedef std::map<unsigned int, EventHandler *> EventMap;
 
-class OtkEventDispatcher {
+class EventDispatcher {
 public:
 
-  OtkEventDispatcher();
-  virtual ~OtkEventDispatcher();
+  EventDispatcher();
+  virtual ~EventDispatcher();
 
   virtual void clearAllHandlers(void);
-  virtual void registerHandler(Window id, OtkEventHandler *handler);
+  virtual void registerHandler(Window id, EventHandler *handler);
   virtual void clearHandler(Window id);
   virtual void dispatchEvents(void);
 
-  inline void setFallbackHandler(OtkEventHandler *fallback)
+  inline void setFallbackHandler(EventHandler *fallback)
   { _fallback = fallback; }
-  OtkEventHandler *getFallbackHandler(void) const { return _fallback; }
+  EventHandler *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(EventHandler *master)
+  { _master = master; }
+  EventHandler *getMasterHandler(void) const { return _master; }
+
+  EventHandler *findHandler(Window win);
+
+  inline Time lastTime() const { return _lasttime; }
+  
 private:
-  OtkEventMap _map;
-  OtkEventHandler *_fallback;
+  EventMap _map;
+  EventHandler *_fallback;
+  EventHandler *_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);
 };
 
 }
This page took 0.024563 seconds and 4 git commands to generate.