let there be parentrelative
Derek Foreman manmower@gmail.com
1 files changed,
8 insertions(+),
4 deletions(-)
jump to
M
render/render.c
→
render/render.c
@@ -89,13 +89,14 @@ }
void x_paint(Window win, Appearance *l) { - int i, transferred = 0, sw, sh; - pixel32 *source; + int i, transferred = 0, sw; + pixel32 *source, *dest; Pixmap oldp; int x = l->area.x; int y = l->area.y; int w = l->area.width; int h = l->area.height; + int parenty = l->surface.data.planar.parenty; if (w <= 0 || h <= 0 || x+w <= 0 || y+h <= 0) return;@@ -117,8 +118,11 @@
if (l->surface.data.planar.grad == Background_ParentRelative) { sw = l->surface.data.planar.parent->area.width; - source = l->surface.data.planar.pixel_data; -/* for (i = */ + source = l->surface.data.planar.parent->surface.data.planar.pixel_data; + 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) gradient_solid(l, x, y, w, h);