summaryrefslogtreecommitdiff
path: root/render
diff options
context:
space:
mode:
authorDerek Foreman <manmower@gmail.com>2003-03-17 05:21:58 +0000
committerDerek Foreman <manmower@gmail.com>2003-03-17 05:21:58 +0000
commit32ec1d1e86f6c2868c53ee824fb8842525c607a9 (patch)
tree9fa4aed100ca072a20817a7f68d8a612783e21a3 /render
parent6bcd6ddd6ec75a7abcac8d5cb6a8272dc69143d8 (diff)
solids should now work with offsets
Diffstat (limited to 'render')
-rw-r--r--render/gradient.c10
-rw-r--r--render/gradient.h2
-rw-r--r--render/render.c2
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...