all repos — openbox @ e6d6a1b6b59d53f9d149f034274b205844eacf1e

openbox fork - make it a bit more like ryudo

change the render() interface
Dana Jansens danakj@orodu.net
commit

e6d6a1b6b59d53f9d149f034274b205844eacf1e

parent

056c5b435d6f52d0ade3beece3e112c4c4cc5268

4 files changed, 12 insertions(+), 10 deletions(-)

jump to
M otk/rendercontrol.hhotk/rendercontrol.hh

@@ -10,6 +10,7 @@

namespace otk { class ScreenInfo; +class Widget; class RenderControl { protected:

@@ -67,7 +68,7 @@ virtual ~RenderControl();

static RenderControl *getRenderControl(int screen); - virtual void render(::Window w) = 0; + virtual void render(Widget *wi) = 0; }; }
M otk/rendertest.ccotk/rendertest.cc

@@ -14,7 +14,7 @@ foo.show();

otk::RenderControl *rc = otk::RenderControl::getRenderControl(0); - rc->render(foo.window()); + rc->render(&foo); app.run();
M otk/truerendercontrol.ccotk/truerendercontrol.cc

@@ -7,6 +7,7 @@

#include "truerendercontrol.hh" #include "display.hh" #include "screeninfo.hh" +#include "widget.hh" extern "C" { #ifdef HAVE_STDLIB_H

@@ -145,13 +146,15 @@ break;

} } -void TrueRenderControl::render(::Window win) +void TrueRenderControl::render(Widget *wi) { + assert(wi); + XGCValues gcv; gcv.cap_style = CapProjecting; - int w = 255, h = 32; - Pixmap p = XCreatePixmap(**display, win, w, h, _screen->depth()); + int w = 255, h = 31; + Pixmap p = XCreatePixmap(**display, wi->window(), 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);

@@ -171,8 +174,6 @@ renderPixel(im, dp, _green_color_table[x] << _green_offset);

for (int y = 0; y < 10; ++y) for (int x = 0; x < w; ++x, dp += im->bits_per_pixel/8) renderPixel(im, dp, _blue_color_table[x] << _blue_offset); - for (int x = 0; x < w; ++x, dp += im->bits_per_pixel/8) - renderPixel(im, dp, 0); printf("\nDone\n");

@@ -185,8 +186,8 @@ //delete [] image->data;

//image->data = NULL; XDestroyImage(im); - XSetWindowBackgroundPixmap(**display, win, p); - XClearWindow(**display, win); + XSetWindowBackgroundPixmap(**display, wi->window(), p); + XClearWindow(**display, wi->window()); XFreePixmap(**display, p); }
M otk/truerendercontrol.hhotk/truerendercontrol.hh

@@ -17,7 +17,7 @@ public:

TrueRenderControl(const ScreenInfo *screen); virtual ~TrueRenderControl(); - virtual void render(::Window w); + virtual void render(Widget *wi); }; }