From 32ec1d1e86f6c2868c53ee824fb8842525c607a9 Mon Sep 17 00:00:00 2001 From: Derek Foreman Date: Mon, 17 Mar 2003 05:21:58 +0000 Subject: [PATCH] solids should now work with offsets --- render/gradient.c | 10 +++++----- render/gradient.h | 2 +- render/render.c | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/render/gradient.c b/render/gradient.c index 4302cfa0..97dbc703 100644 --- a/render/gradient.c +++ b/render/gradient.c @@ -230,23 +230,23 @@ void highlight(pixel32 *x, pixel32 *y, gboolean raised) + (b << default_blue_shift); } -void gradient_solid(Appearance *l, int w, int h) +void gradient_solid(Appearance *l, int x, int y, int w, int h) { int i; PlanarSurface *sp = &l->surface.data.planar; - int left = 0, top = 0, right = w - 1, bottom = h - 1; + int left = x, top = y, right = w - 1, bottom = h - 1; if (sp->primary->gc == None) color_allocate_gc(sp->primary); XFillRectangle(ob_display, l->pixmap, sp->primary->gc - , 0, 0, w, h); + , x, y, w, h); if (l->surface.data.planar.interlaced) { if (sp->secondary->gc == None) color_allocate_gc(sp->secondary); - for (i = 0; i < h; i += 2) + for (i = y; i < h; i += 2) XDrawLine(ob_display, l->pixmap, sp->secondary->gc, - 0, i, w, i); + x, i, w, i); } /* switch (texture.relief()) { diff --git a/render/gradient.h b/render/gradient.h index 626278f5..8c4e90f3 100644 --- a/render/gradient.h +++ b/render/gradient.h @@ -8,7 +8,7 @@ void gradient_vertical(Surface *sf, int w, int h); void gradient_horizontal(Surface *sf, int w, int h); void gradient_diagonal(Surface *sf, int w, int h); void gradient_crossdiagonal(Surface *sf, int w, int h); -void gradient_solid(Appearance *l, int w, int h); /* needs access to pixmap */ +void gradient_solid(Appearance *l, int x, int y, int w, int h); void highlight(pixel32 *x, pixel32 *y, gboolean raised); #endif /* __gradient_h */ diff --git a/render/render.c b/render/render.c index 12b373ce..481ef098 100644 --- a/render/render.c +++ b/render/render.c @@ -80,7 +80,7 @@ void x_paint(Window win, Appearance *l, int x, int y, int w, int h) l->surface.data.planar.pixel_data = g_new(pixel32, w * h); if (l->surface.data.planar.grad == Background_Solid) - gradient_solid(l, w, h); + gradient_solid(l, x, y, w, h); else gradient_render(&l->surface, w, h); /*reduce depth here... -- 2.39.2