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
|
||||
|
||||
;; scoped method names:
|
||||
clean-slate
|
||||
get-backing-size
|
||||
queue-backing-flush
|
||||
on-backing-flush
|
||||
|
@ -26,6 +27,7 @@
|
|||
end-delay))
|
||||
|
||||
(define-local-member-name
|
||||
clean-slate
|
||||
get-backing-size
|
||||
queue-backing-flush
|
||||
on-backing-flush
|
||||
|
@ -45,7 +47,8 @@
|
|||
internal-set-bitmap
|
||||
reset-cr
|
||||
set-recording-limit
|
||||
get-recorded-command)
|
||||
get-recorded-command
|
||||
get-clear-operator)
|
||||
|
||||
(super-new)
|
||||
|
||||
|
@ -131,6 +134,12 @@
|
|||
(queue-backing-flush)))
|
||||
|
||||
(define/override (erase)
|
||||
(super erase)
|
||||
(when (= (get-clear-operator)
|
||||
CAIRO_OPERATOR_CLEAR)
|
||||
(set! nada? #t)))
|
||||
|
||||
(define/public (clean-slate)
|
||||
(super erase)
|
||||
(set! nada? #t))
|
||||
|
||||
|
|
|
@ -148,7 +148,7 @@
|
|||
(let ([dc (get-dc)])
|
||||
(send dc suspend-flush)
|
||||
(send dc ensure-ready)
|
||||
(send dc erase) ; start with a clean slate
|
||||
(send dc clean-slate)
|
||||
(let ([bg (get-canvas-background-for-backing)])
|
||||
(when bg
|
||||
(let ([old-bg (send dc get-background)])
|
||||
|
|
Loading…
Reference in New Issue
Block a user