diff options
Diffstat (limited to 'src/libdraw/ml-unload.c')
-rw-r--r-- | src/libdraw/ml-unload.c | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/src/libdraw/ml-unload.c b/src/libdraw/ml-unload.c deleted file mode 100644 index b9534117..00000000 --- a/src/libdraw/ml-unload.c +++ /dev/null @@ -1,52 +0,0 @@ -#include <u.h> -#include <libc.h> -#include <draw.h> -#include <memdraw.h> -#include <memlayer.h> - -int -memunload(Memimage *src, Rectangle r, uchar *data, int n) -{ - Memimage *tmp; - Memlayer *dl; - Rectangle lr; - int dx; - - Top: - dl = src->layer; - if(dl == nil) - return unloadmemimage(src, r, data, n); - - /* - * Convert to screen coordinates. - */ - lr = r; - r.min.x += dl->delta.x; - r.min.y += dl->delta.y; - r.max.x += dl->delta.x; - r.max.y += dl->delta.y; - dx = dl->delta.x&(7/src->depth); - if(dl->clear && dx==0){ - src = dl->screen->image; - goto Top; - } - - /* - * src is an obscured layer or data is unaligned - */ - if(dl->save && dx==0){ - if(dl->refreshfn != 0) - return -1; /* can't unload window if it's not Refbackup */ - if(n > 0) - memlhide(src, r); - n = unloadmemimage(dl->save, lr, data, n); - return n; - } - tmp = allocmemimage(lr, src->chan); - if(tmp == nil) - return -1; - memdraw(tmp, lr, src, lr.min, nil, lr.min, S); - n = unloadmemimage(tmp, lr, data, n); - freememimage(tmp); - return n; -} |