solids should now work with offsets
Derek Foreman manmower@gmail.com
3 files changed,
7 insertions(+),
7 deletions(-)
M
render/gradient.c
→
render/gradient.c
@@ -230,23 +230,23 @@ *down = (r << default_red_shift) + (g << default_green_shift)
+ (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()) {
M
render/gradient.h
→
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 */
M
render/render.c
→
render/render.c
@@ -80,7 +80,7 @@ g_free(l->surface.data.planar.pixel_data);
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...