diff options
Diffstat (limited to 'src/libdraw/ml-load.c')
-rw-r--r-- | src/libdraw/ml-load.c | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/src/libdraw/ml-load.c b/src/libdraw/ml-load.c deleted file mode 100644 index d211564b..00000000 --- a/src/libdraw/ml-load.c +++ /dev/null @@ -1,55 +0,0 @@ -#include <u.h> -#include <libc.h> -#include <draw.h> -#include <memdraw.h> -#include <memlayer.h> - -int -memload(Memimage *dst, Rectangle r, uchar *data, int n, int iscompressed) -{ - int (*loadfn)(Memimage*, Rectangle, uchar*, int); - Memimage *tmp; - Memlayer *dl; - Rectangle lr; - int dx; - - loadfn = loadmemimage; - if(iscompressed) - loadfn = cloadmemimage; - - Top: - dl = dst->layer; - if(dl == nil) - return loadfn(dst, 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/dst->depth); - if(dl->clear && dx==0){ - dst = dl->screen->image; - goto Top; - } - - /* - * dst is an obscured layer or data is unaligned - */ - if(dl->save && dx==0){ - n = loadfn(dl->save, lr, data, n); - if(n > 0) - memlexpose(dst, r); - return n; - } - tmp = allocmemimage(lr, dst->chan); - if(tmp == nil) - return -1; - n = loadfn(tmp, lr, data, n); - memdraw(dst, lr, tmp, lr.min, nil, lr.min, S); - freememimage(tmp); - return n; -} |