original commit: 0b70f95730e2205588029a12db68dbf959787411
This commit is contained in:
Robby Findler 2000-06-16 20:33:33 +00:00
parent f073367576
commit 78f2e9985e

View File

@ -69,45 +69,46 @@
(loop this-left (loop this-left
this-right this-right
(cdr canvases))))]))]) (cdr canvases))))]))])
(let loop ([left #f] (when (and min-left max-right)
[top #f] (let loop ([left #f]
[right #f] [top #f]
[bottom #f] [right #f]
[rectangles rectangles]) [bottom #f]
(cond [rectangles rectangles])
[(null? rectangles) (cond
(when left [(null? rectangles)
(let ([width (- right left)] (when left
[height (- bottom top)]) (let ([width (- right left)]
(when (and (> width 0) [height (- bottom top)])
(> height 0)) (when (and (> width 0)
(invalidate-bitmap-cache left top width height))))] (> height 0))
[else (let* ([r (car rectangles)] (invalidate-bitmap-cache left top width height))))]
[else (let* ([r (car rectangles)]
[rleft (rectangle-left r)]
[rright (rectangle-right r)] [rleft (rectangle-left r)]
[rtop (rectangle-top r)] [rright (rectangle-right r)]
[rbottom (rectangle-bottom r)] [rtop (rectangle-top r)]
[rbottom (rectangle-bottom r)]
[this-left (if (number? rleft)
rleft [this-left (if (number? rleft)
min-left)] rleft
[this-right (if (number? rright) min-left)]
rright [this-right (if (number? rright)
max-right)] rright
[this-bottom rbottom] max-right)]
[this-top rtop]) [this-bottom rbottom]
(if (and left top right bottom) [this-top rtop])
(loop (min this-left left) (if (and left top right bottom)
(min this-top top) (loop (min this-left left)
(max this-right right) (min this-top top)
(max this-bottom bottom) (max this-right right)
(cdr rectangles)) (max this-bottom bottom)
(loop this-left (cdr rectangles))
this-top (loop this-left
this-right this-top
this-bottom this-right
(cdr rectangles))))]))))] this-bottom
(cdr rectangles))))])))))]
[recompute-range-rectangles [recompute-range-rectangles
(lambda () (lambda ()