fix another problem with `erase' in a canvas dc
Closes PR 11625
This commit is contained in:
parent
b45bb829b6
commit
b10ad75d11
|
@ -14,6 +14,7 @@
|
||||||
backing-draw-bm
|
backing-draw-bm
|
||||||
|
|
||||||
;; scoped method names:
|
;; scoped method names:
|
||||||
|
clean-slate
|
||||||
get-backing-size
|
get-backing-size
|
||||||
queue-backing-flush
|
queue-backing-flush
|
||||||
on-backing-flush
|
on-backing-flush
|
||||||
|
@ -26,6 +27,7 @@
|
||||||
end-delay))
|
end-delay))
|
||||||
|
|
||||||
(define-local-member-name
|
(define-local-member-name
|
||||||
|
clean-slate
|
||||||
get-backing-size
|
get-backing-size
|
||||||
queue-backing-flush
|
queue-backing-flush
|
||||||
on-backing-flush
|
on-backing-flush
|
||||||
|
@ -45,7 +47,8 @@
|
||||||
internal-set-bitmap
|
internal-set-bitmap
|
||||||
reset-cr
|
reset-cr
|
||||||
set-recording-limit
|
set-recording-limit
|
||||||
get-recorded-command)
|
get-recorded-command
|
||||||
|
get-clear-operator)
|
||||||
|
|
||||||
(super-new)
|
(super-new)
|
||||||
|
|
||||||
|
@ -131,6 +134,12 @@
|
||||||
(queue-backing-flush)))
|
(queue-backing-flush)))
|
||||||
|
|
||||||
(define/override (erase)
|
(define/override (erase)
|
||||||
|
(super erase)
|
||||||
|
(when (= (get-clear-operator)
|
||||||
|
CAIRO_OPERATOR_CLEAR)
|
||||||
|
(set! nada? #t)))
|
||||||
|
|
||||||
|
(define/public (clean-slate)
|
||||||
(super erase)
|
(super erase)
|
||||||
(set! nada? #t))
|
(set! nada? #t))
|
||||||
|
|
||||||
|
|
|
@ -148,7 +148,7 @@
|
||||||
(let ([dc (get-dc)])
|
(let ([dc (get-dc)])
|
||||||
(send dc suspend-flush)
|
(send dc suspend-flush)
|
||||||
(send dc ensure-ready)
|
(send dc ensure-ready)
|
||||||
(send dc erase) ; start with a clean slate
|
(send dc clean-slate)
|
||||||
(let ([bg (get-canvas-background-for-backing)])
|
(let ([bg (get-canvas-background-for-backing)])
|
||||||
(when bg
|
(when bg
|
||||||
(let ([old-bg (send dc get-background)])
|
(let ([old-bg (send dc get-background)])
|
||||||
|
|
Loading…
Reference in New Issue
Block a user