]> Dogcows Code - chaz/openbox/blobdiff - otk/eventdispatcher.hh
add actions for key/mouse bindings etc
[chaz/openbox] / otk / eventdispatcher.hh
index 716a81189eb9ca55b55229303310996dc10d71b6..35c3722ebc1425c834e051f1ff0e035577ae9ced 100644 (file)
@@ -1,3 +1,4 @@
+// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
 #ifndef __eventdispatcher
 #define __eventdispatcher
 
@@ -7,41 +8,53 @@
 
 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, otk::OtkEventHandler *handler);
+  virtual void registerHandler(Window id, EventHandler *handler);
   virtual void clearHandler(Window id);
-  virtual void dispatchEvents(void);
-
-  inline void setFallbackHandler(otk::OtkEventHandler *fallback)
+  //! Dispatch events from the X server to the appropriate EventHandlers
+  /*!
+    @param remote Is the Xserver on a remote (low bandwidth) connection or on a
+                  local (high bandwidth) connection. This allows you to specify
+                  'false' in which case slightly different semantics are used
+                  for event retrieval.<br>
+                  The default is 'true' since this should generally be used,
+                  only the Openbox window manager should need to specify
+                  'false' here.
+  */
+  virtual void dispatchEvents(bool remote = true);
+
+  inline void setFallbackHandler(EventHandler *fallback)
   { _fallback = fallback; }
-  otk::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(otk::OtkEventHandler *master)
+  inline void setMasterHandler(EventHandler *master)
   { _master = master; }
-  otk::OtkEventHandler *getMasterHandler(void) const { return _master; }
+  EventHandler *getMasterHandler(void) const { return _master; }
+
+  EventHandler *findHandler(Window win);
 
-  otk::OtkEventHandler *findHandler(Window win);
+  inline Time lastTime() const { return _lasttime; }
   
 private:
-  OtkEventMap _map;
-  OtkEventHandler *_fallback;
-  OtkEventHandler *_master;
-  XEvent _focus_e;
+  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(const XEvent &e);
+  void dispatch(Window win, const XEvent &e);
+  void dispatchFocus(const XEvent &e);
 };
 
 }
This page took 0.025318 seconds and 4 git commands to generate.