]> Dogcows Code - chaz/openbox/commitdiff
set the background pixmap
authorDana Jansens <danakj@orodu.net>
Sat, 18 Jan 2003 02:34:54 +0000 (02:34 +0000)
committerDana Jansens <danakj@orodu.net>
Sat, 18 Jan 2003 02:34:54 +0000 (02:34 +0000)
otk/rendercontrol.hh
otk/truerendercontrol.cc
otk/truerendercontrol.hh

index d3926745317b84d302f3e6a904ef31352890fcce..e8dcca449ac744dc54e1f5083adf07c8abad9b54 100644 (file)
@@ -67,7 +67,7 @@ public:
 
   static RenderControl *getRenderControl(int screen);
 
-  virtual void render(::Drawable d) = 0;
+  virtual void render(::Window w) = 0;
 };
 
 }
index 95b629b1fc697aa700341f3584b3f18385d84f46..0cfa293e1da3e656032ca454799ebb8393dfb39d 100644 (file)
@@ -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 @@ void renderPixel(XImage *im, unsigned char *dp, unsigned long pixel)
   }
 }
 
-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 @@ void TrueRenderControl::render(::Drawable d)
   //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);
 }
index 9647a2a302c5414ab6773064260d8e470dd76a2e..f4057355d816a2e39384ea9bb5dc958b8e8d3695 100644 (file)
@@ -17,7 +17,7 @@ public:
   TrueRenderControl(const ScreenInfo *screen);
   virtual ~TrueRenderControl();
 
-  virtual void render(::Drawable d);
+  virtual void render(::Window w);
 };
 
 }
This page took 0.025807 seconds and 4 git commands to generate.