diff options
Diffstat (limited to 'src/libdraw/ml-ltofront.c')
-rw-r--r-- | src/libdraw/ml-ltofront.c | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/src/libdraw/ml-ltofront.c b/src/libdraw/ml-ltofront.c deleted file mode 100644 index 447b40bd..00000000 --- a/src/libdraw/ml-ltofront.c +++ /dev/null @@ -1,80 +0,0 @@ -#include <u.h> -#include <libc.h> -#include <draw.h> -#include <memdraw.h> -#include <memlayer.h> - -/* - * Pull i towards top of screen, just behind front -*/ -static -void -_memltofront(Memimage *i, Memimage *front, int fill) -{ - Memlayer *l; - Memscreen *s; - Memimage *f, *ff, *rr; - Rectangle x; - int overlap; - - l = i->layer; - s = l->screen; - while(l->front != front){ - f = l->front; - x = l->screenr; - overlap = rectclip(&x, f->layer->screenr); - if(overlap){ - memlhide(f, x); - f->layer->clear = 0; - } - /* swap l and f in screen's list */ - ff = f->layer->front; - rr = l->rear; - if(ff == nil) - s->frontmost = i; - else - ff->layer->rear = i; - if(rr == nil) - s->rearmost = f; - else - rr->layer->front = f; - l->front = ff; - l->rear = f; - f->layer->front = i; - f->layer->rear = rr; - if(overlap && fill) - memlexpose(i, x); - } -} - -void -_memltofrontfill(Memimage *i, int fill) -{ - _memltofront(i, nil, fill); - _memlsetclear(i->layer->screen); -} - -void -memltofront(Memimage *i) -{ - _memltofront(i, nil, 1); - _memlsetclear(i->layer->screen); -} - -void -memltofrontn(Memimage **ip, int n) -{ - Memimage *i, *front; - Memscreen *s; - - if(n == 0) - return; - front = nil; - while(--n >= 0){ - i = *ip++; - _memltofront(i, front, 1); - front = i; - } - s = front->layer->screen; - _memlsetclear(s); -} |