]> Dogcows Code - chaz/openbox/blobdiff - otk/button.cc
use the timer queue manager
[chaz/openbox] / otk / button.cc
index 98d5780504d8335eaecb40558dca4170c0fecf64..3f283b00085ac9869a7e0d3b661995a34ede48ff 100644 (file)
@@ -1,3 +1,4 @@
+#include <iostream>
 #include "button.hh"
 
 namespace otk {
@@ -57,12 +58,42 @@ void OtkButton::update(void)
 
     OtkFocusWidget::resize(ft.measureString(_text) + bevel * 2,
                            ft.height() + bevel * 2);
-    ft.drawString(getWindow(), bevel, bevel, *text_color, _text);
+    OtkFocusWidget::update();
 
+    ft.drawString(getWindow(), bevel, bevel, *text_color, _text);
+  } else
     OtkFocusWidget::update();
-  }
 
   _dirty = false;
 }
 
+int OtkButton::buttonPressHandler(const XButtonEvent &e)
+{
+  press();
+  _dirty = true;
+  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.021117 seconds and 4 git commands to generate.