X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Frendercontrol.cc;h=58c8f555732d8fdd405b010d14c68e7d90ee61dc;hb=1e46a39dc305fe92b0c0eca1e60e76fded3e5214;hp=189bbd6e00514a3d2fd242adcf9c7595ff54b8eb;hpb=25f0151154c90b1c72f049e200d942fb2c18ddc5;p=chaz%2Fopenbox diff --git a/otk/rendercontrol.cc b/otk/rendercontrol.cc index 189bbd6e..58c8f555 100644 --- a/otk/rendercontrol.cc +++ b/otk/rendercontrol.cc @@ -1,16 +1,16 @@ // -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*- -#ifdef HAVE_CONFIG_H -# include "../config.h" -#endif // HAVE_CONFIG_H +#include "config.h" #include "rendercontrol.hh" #include "truerendercontrol.hh" +#include "pseudorendercontrol.hh" #include "rendertexture.hh" +#include "rendercolor.hh" +#include "renderstyle.hh" #include "display.hh" #include "screeninfo.hh" #include "surface.hh" -#include "color.hh" #include "font.hh" #include "ustring.hh" @@ -19,7 +19,7 @@ extern "C" { # include #endif // HAVE_STDLIB_H -#include "gettext.h" +#include "../src/gettext.h" #define _(str) gettext(str) } @@ -34,10 +34,10 @@ RenderControl *RenderControl::getRenderControl(int screen) return new TrueRenderControl(screen); case PseudoColor: case StaticColor: -// return new PseudoRenderControl(screen); + return new PseudoRenderControl(screen); case GrayScale: case StaticGray: -// return new GrayRenderControl(screen); + return new PseudoRenderControl(screen); default: printf(_("RenderControl: Unsupported visual %d specified. Aborting.\n"), vclass); @@ -49,19 +49,23 @@ RenderControl::RenderControl(int screen) : _screen(screen) { printf("Initializing RenderControl\n"); - - } RenderControl::~RenderControl() { printf("Destroying RenderControl\n"); +} - +void RenderControl::drawRoot(const RenderColor &color) const +{ + Window root = display->screenInfo(_screen)->rootWindow(); + XSetWindowBackground(**display, root, color.pixel()); + XClearWindow(**display, root); } void RenderControl::drawString(Surface& sf, const Font &font, int x, int y, - const Color &color, const ustring &string) const + const RenderColor &color, + const ustring &string) const { assert(sf._screen == _screen); XftDraw *d = sf._xftdraw; @@ -98,7 +102,6 @@ void RenderControl::drawString(Surface& sf, const Font &font, int x, int y, else XftDrawString8(d, &c, font._xftfont, x, font._xftfont->ascent + y, (FcChar8*)string.c_str(), string.bytes()); - return; } @@ -112,7 +115,7 @@ void RenderControl::drawSolidBackground(Surface& sf, sf.setPixmap(texture.color()); - int width = sf.width(), height = sf.height(); + int width = sf.size().width(), height = sf.size().height(); int left = 0, top = 0, right = width - 1, bottom = height - 1; if (texture.interlaced())