]> Dogcows Code - chaz/openbox/blobdiff - src/Util.cc
default all xinerama support options to off
[chaz/openbox] / src / Util.cc
index 0300e52bb0ee279e66f3f0611bb3749ff49bc5c0..d80834447971b425750bd5ee44dc04665eac95f1 100644 (file)
@@ -52,6 +52,8 @@ extern "C" {
 
 #include <X11/Xatom.h>
 
+#include <assert.h>
+
 #include <algorithm>
 
 #include "Util.hh"
@@ -139,6 +141,18 @@ bool Rect::intersects(const Rect &a) const {
 }
 
 
+bool Rect::contains(int __x, int __y) const {
+  return __x >= _x1 && __x <= _x2 &&
+         __y >= _y1 && __y <= _y2;
+}
+
+
+bool Rect::contains(const Rect& a) const {
+  return a._x1 >= _x1 && a._x2 <= _x2 &&
+         a._y1 >= _y1 && a._y2 <= _y2;
+}
+
+
 string expandTilde(const string& s) {
   if (s[0] != '~') return s;
 
@@ -180,8 +194,9 @@ string textPropertyToString(Display *display, XTextProperty& text_prop) {
   string ret;
 
   if (text_prop.value && text_prop.nitems > 0) {
-    ret = (char *) text_prop.value;
-    if (text_prop.encoding != XA_STRING) {
+    if (text_prop.encoding == XA_STRING) {
+      ret = (char *) text_prop.value;
+    } else {
       text_prop.nitems = strlen((char *) text_prop.value);
 
       char **list;
@@ -220,3 +235,24 @@ timeval normalizeTimeval(const timeval &tm) {
 
   return ret;
 }
+
+
+string itostring(unsigned long i) {
+  if (i == 0)
+    return string("0");
+  
+  string tmp;
+  for (; i > 0; i /= 10)
+    tmp.insert(tmp.begin(), "0123456789"[i%10]);
+  return tmp;
+}
+
+
+string itostring(long i) {
+  if (i < 0) {
+    std::string tmp = itostring( (unsigned long) -i);
+    tmp.insert(tmp.begin(), '-');
+    return tmp;
+  } else
+    return itostring( (unsigned long) i);
+}
This page took 0.021033 seconds and 4 git commands to generate.