diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-01-18 03:52:58 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-01-18 03:52:58 +0000 |
| commit | 2005c344bdb4b59611972bc37e194d2e14cdf911 (patch) | |
| tree | 35fe6c0f7b6ce425a0ac83fe393c02c0be3bbfee /otk/truerendercontrol.cc | |
| parent | 4ac47a41a15626a3da41d68efd2212869c9188b2 (diff) | |
surface started
Diffstat (limited to 'otk/truerendercontrol.cc')
| -rw-r--r-- | otk/truerendercontrol.cc | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/otk/truerendercontrol.cc b/otk/truerendercontrol.cc index a15cbd57..39176a6c 100644 --- a/otk/truerendercontrol.cc +++ b/otk/truerendercontrol.cc @@ -103,30 +103,23 @@ void TrueRenderControl::render(Widget *wi) { assert(wi); - XGCValues gcv; - gcv.cap_style = CapProjecting; - - int w = 255, h = 31; + int w = wi->width(), h = wi->height(); 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); - // XXX + 1? unsigned char *data = new unsigned char[im->bytes_per_line * h]; unsigned char *dp = data; - for (int x = 0; x < w; ++x, dp += im->bits_per_pixel/8) - renderPixel(im, dp, 0); - for (int y = 0; y < 10; ++y) + for (int y = 0; y < h/3; ++y) for (int x = 0; x < w; ++x, dp += im->bits_per_pixel/8) - renderPixel(im, dp, _red_color_table[x] << _red_offset); - for (int y = 0; y < 10; ++y) + renderPixel(im, dp, _red_color_table[255*x/w] << _red_offset); + for (int y = 0; y < h/3; ++y) for (int x = 0; x < w; ++x, dp += im->bits_per_pixel/8) - renderPixel(im, dp, _green_color_table[x] << _green_offset); - for (int y = 0; y < 10; ++y) + renderPixel(im, dp, _green_color_table[255*x/w] << _green_offset); + for (int y = 0; y < h/3; ++y) for (int x = 0; x < w; ++x, dp += im->bits_per_pixel/8) - renderPixel(im, dp, _blue_color_table[x] << _blue_offset); + renderPixel(im, dp, _blue_color_table[255*x/w] << _blue_offset); printf("\nDone %d %d\n", im->bytes_per_line * h, dp - data); |
