all repos — openbox @ 4213b558bfcacb32e3c1dbdcbf9d6fb19111cf2a

openbox fork - make it a bit more like ryudo

let there be parentrelative
Derek Foreman manmower@gmail.com
commit

4213b558bfcacb32e3c1dbdcbf9d6fb19111cf2a

parent

2517e30755d124e1fb2f361e22e91917a24edc9a

1 files changed, 8 insertions(+), 4 deletions(-)

jump to
M render/render.crender/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);