set the background pixmap
Dana Jansens danakj@orodu.net
3 files changed,
6 insertions(+),
8 deletions(-)
M
otk/rendercontrol.hh
→
otk/rendercontrol.hh
@@ -67,7 +67,7 @@ virtual ~RenderControl();
static RenderControl *getRenderControl(int screen); - virtual void render(::Drawable d) = 0; + virtual void render(::Window w) = 0; }; }
M
otk/truerendercontrol.cc
→
otk/truerendercontrol.cc
@@ -108,8 +108,6 @@ void renderPixel(XImage *im, unsigned char *dp, unsigned long pixel)
{ unsigned int bpp = im->bits_per_pixel + (im->byte_order == MSBFirst) ? 1 : 0; - printf("%lx \n", pixel); - switch (bpp) { case 8: // 8bpp *dp++ = pixel;@@ -147,13 +145,13 @@ break;
} } -void TrueRenderControl::render(::Drawable d) +void TrueRenderControl::render(::Window win) { XGCValues gcv; gcv.cap_style = CapProjecting; int w = 255, h = 32; - Pixmap p = XCreatePixmap(**display, d, w, h, _screen->depth()); + Pixmap p = XCreatePixmap(**display, win, w, h, _screen->depth()); XImage *im = XCreateImage(**display, _screen->visual(), _screen->depth(), ZPixmap, 0, NULL, w, h, 32, 0); //GC gc = XCreateGC(**display, _screen->rootWindow(), GCCapStyle, &gcv);@@ -187,8 +185,8 @@ //delete [] image->data;
//image->data = NULL; XDestroyImage(im); - XCopyArea(**display, p, d, DefaultGC(**display, _screen->screen()), - 0, 0, w, h, 0, 0); + XSetWindowBackgroundPixmap(**display, win, p); + XClearWindow(**display, win); XFreePixmap(**display, p); }
M
otk/truerendercontrol.hh
→
otk/truerendercontrol.hh
@@ -17,7 +17,7 @@ public:
TrueRenderControl(const ScreenInfo *screen); virtual ~TrueRenderControl(); - virtual void render(::Drawable d); + virtual void render(::Window w); }; }