X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2FXScreen.cc;h=5ae8becdd490352e853deb5adbd4034401b025cc;hb=74cd4c9f2dff2165aa9b6e467c8f5a0115ba21a7;hp=dbc487057707c653e9a4891fc7965a2fe92ebaf8;hpb=cc7cb82debabb98b6cca375f53fe29da7ae4fad4;p=chaz%2Fopenbox diff --git a/src/XScreen.cc b/src/XScreen.cc index dbc48705..5ae8becd 100644 --- a/src/XScreen.cc +++ b/src/XScreen.cc @@ -19,11 +19,13 @@ // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. +#include #include "XScreen.h" +#include "XDisplay.h" #include "Geometry.h" -XScreen::XScreen(const Display *display, const unsigned int number) { - _display = display; +XScreen::XScreen(const XDisplay *display, const unsigned int number) { + _display = display->_display; _number = number; _root = RootWindow(_display, _number); @@ -33,6 +35,10 @@ XScreen::XScreen(const Display *display, const unsigned int number) { } +XScreen::~XScreen() { +} + + /* * This sets up the _depth, _visual, and _colormap properties. */ @@ -58,10 +64,23 @@ void XScreen::setColorData() { } XFree(vinfo_return); } - if (visual) + if (_visual) _colormap = XCreateColormap(_display, _root, _visual, AllocNone); else { _visual = DefaultVisual(_display, _number); _colormap = DefaultColormap(_display, _number); } } + + +/* + * Creates a window on screen. + */ +Window createWindow(Window parent, const Rect &area, int borderw, + unsigned int winclass, unsigned long attrib_mask, + XSetWindowAttributes *attrib) const { + return XCreateWindow(_display, parent, + area.x(), area.y(), area.w(), area.h(), + borderw, depth(), winclass, visual(), + attrib_mask, attrib); +}