// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
-#ifdef HAVE_CONFIG_H
-# include "../config.h"
-#endif // HAVE_CONFIG_H
+#include "config.h"
extern "C" {
#include <X11/Xlib.h>
namespace otk {
-ScreenInfo::ScreenInfo(unsigned int num) {
+ScreenInfo::ScreenInfo(int num) {
+ assert(num >= 0 && num < ScreenCount(**display));
+
_screen = num;
_root_window = RootWindow(**display, _screen);
- _rect.setSize(WidthOfScreen(ScreenOfDisplay(**display,
- _screen)),
+ _size = Size(WidthOfScreen(ScreenOfDisplay(**display,
+ _screen)),
HeightOfScreen(ScreenOfDisplay(**display,
_screen)));
/*
_display_string = string("DISPLAY=") + default_string + '.' +
itostring(static_cast<unsigned long>(_screen));
-
+
#if 0 //def XINERAMA
_xinerama_active = False;
// if we can't find any xinerama regions, then we act as if it is not
// active, even though it said it was
- _xinerama_active = True;
+ _xinerama_active = true;
}
}
}
}
+#else
+ _xinerama_active = false;
#endif // XINERAMA
+ if (!_xinerama_active)
+ _xinerama_areas.push_back(Rect(Point(0, 0), _size));
}
}