]> Dogcows Code - chaz/openbox/blobdiff - otk/button.cc
use the timer queue manager
[chaz/openbox] / otk / button.cc
index 150e32d9369c47ea40944cf92e979cda69affd15..3f283b00085ac9869a7e0d3b661995a34ede48ff 100644 (file)
@@ -1,3 +1,4 @@
+#include <iostream>
 #include "button.hh"
 
 namespace otk {
@@ -57,18 +58,42 @@ void OtkButton::update(void)
 
     OtkFocusWidget::resize(ft.measureString(_text) + bevel * 2,
                            ft.height() + bevel * 2);
-
     OtkFocusWidget::update();
 
     ft.drawString(getWindow(), bevel, bevel, *text_color, _text);
   } else
     OtkFocusWidget::update();
+
+  _dirty = false;
 }
 
-bool OtkButton::expose(const XExposeEvent &e)
+int OtkButton::buttonPressHandler(const XButtonEvent &e)
 {
+  press();
   _dirty = true;
-  return OtkFocusWidget::expose(e);
+  update();
+  return OtkFocusWidget::buttonPressHandler(e);
+}
+
+int OtkButton::buttonReleaseHandler(const XButtonEvent &e)
+{
+  release();
+  _dirty = true;
+  update();
+  return OtkFocusWidget::buttonReleaseHandler(e);
+}
+
+int OtkButton::exposeHandler(const XExposeEvent &e)
+{
+  _dirty = true;
+  return OtkFocusWidget::exposeHandler(e);
+}
+
+int OtkButton::configureHandler(const XConfigureEvent &e)
+{
+  if (!(e.width == width() && e.height == height()))
+    _dirty = true;
+  return OtkFocusWidget::configureHandler(e);
 }
 
 }
This page took 0.028046 seconds and 4 git commands to generate.