let there be parentrelative

This commit is contained in:
Derek Foreman 2003-04-02 00:17:35 +00:00
parent 2517e30755
commit 4213b558bf

View file

@ -89,13 +89,14 @@ void truecolor_startup(void)
void x_paint(Window win, Appearance *l) void x_paint(Window win, Appearance *l)
{ {
int i, transferred = 0, sw, sh; int i, transferred = 0, sw;
pixel32 *source; pixel32 *source, *dest;
Pixmap oldp; Pixmap oldp;
int x = l->area.x; int x = l->area.x;
int y = l->area.y; int y = l->area.y;
int w = l->area.width; int w = l->area.width;
int h = l->area.height; int h = l->area.height;
int parenty = l->surface.data.planar.parenty;
if (w <= 0 || h <= 0 || x+w <= 0 || y+h <= 0) return; if (w <= 0 || h <= 0 || x+w <= 0 || y+h <= 0) return;
@ -117,8 +118,11 @@ void x_paint(Window win, Appearance *l)
if (l->surface.data.planar.grad == Background_ParentRelative) { if (l->surface.data.planar.grad == Background_ParentRelative) {
sw = l->surface.data.planar.parent->area.width; sw = l->surface.data.planar.parent->area.width;
source = l->surface.data.planar.pixel_data; source = l->surface.data.planar.parent->surface.data.planar.pixel_data;
/* for (i = */ dest = l->surface.data.planar.pixel_data;
for (i = parenty; i < parenty + h; i++, source += sw, dest += w) {
memcpy(dest, source, w * sizeof(pixel32));
}
} }
else if (l->surface.data.planar.grad == Background_Solid) else if (l->surface.data.planar.grad == Background_Solid)
gradient_solid(l, x, y, w, h); gradient_solid(l, x, y, w, h);