fix dc<%> `clear' method to draw white on non-alpha context
This commit is contained in:
parent
de271aa698
commit
3622a68449
|
@ -73,6 +73,11 @@
|
||||||
|
|
||||||
(define/override (collapse-bitmap-b&w?) b&w?)
|
(define/override (collapse-bitmap-b&w?) b&w?)
|
||||||
|
|
||||||
|
(define/override (get-clear-operator)
|
||||||
|
(if (send bm has-alpha-channel?)
|
||||||
|
CAIRO_OPERATOR_CLEAR
|
||||||
|
CAIRO_OPERATOR_OVER))
|
||||||
|
|
||||||
(super-new)))
|
(super-new)))
|
||||||
|
|
||||||
(define black (send the-color-database find-color "black"))
|
(define black (send the-color-database find-color "black"))
|
||||||
|
|
|
@ -151,7 +151,12 @@
|
||||||
|
|
||||||
;; erase : -> void
|
;; erase : -> void
|
||||||
;; A public method: erases all drawing
|
;; A public method: erases all drawing
|
||||||
erase))
|
erase
|
||||||
|
|
||||||
|
;; get-clear-operator : -> int
|
||||||
|
;; Gets the Cairo operator used by the default
|
||||||
|
;; `clear' implementation
|
||||||
|
get-clear-operator))
|
||||||
|
|
||||||
(define default-dc-backend%
|
(define default-dc-backend%
|
||||||
(class* object% (dc-backend<%>)
|
(class* object% (dc-backend<%>)
|
||||||
|
@ -206,6 +211,9 @@
|
||||||
(define/public (get-gl-context)
|
(define/public (get-gl-context)
|
||||||
#f)
|
#f)
|
||||||
|
|
||||||
|
(define/public (get-clear-operator)
|
||||||
|
CAIRO_OPERATOR_CLEAR)
|
||||||
|
|
||||||
(super-new)))
|
(super-new)))
|
||||||
|
|
||||||
(define hilite-color (send the-color-database find-color "black"))
|
(define hilite-color (send the-color-database find-color "black"))
|
||||||
|
@ -228,7 +236,7 @@
|
||||||
(inherit flush-cr get-cr release-cr end-cr init-cr-matrix get-pango
|
(inherit flush-cr get-cr release-cr end-cr init-cr-matrix get-pango
|
||||||
install-color dc-adjust-smoothing reset-clip
|
install-color dc-adjust-smoothing reset-clip
|
||||||
collapse-bitmap-b&w?
|
collapse-bitmap-b&w?
|
||||||
ok? can-combine-text? can-mask-bitmap?)
|
ok? can-combine-text? can-mask-bitmap? get-clear-operator)
|
||||||
|
|
||||||
;; Using the global lock here is troublesome, becase
|
;; Using the global lock here is troublesome, becase
|
||||||
;; operations involving paths, regions, and text can
|
;; operations involving paths, regions, and text can
|
||||||
|
@ -651,7 +659,7 @@
|
||||||
(with-cr
|
(with-cr
|
||||||
(check-ok 'erase)
|
(check-ok 'erase)
|
||||||
cr
|
cr
|
||||||
(cairo_set_operator cr CAIRO_OPERATOR_CLEAR)
|
(cairo_set_operator cr (get-clear-operator))
|
||||||
(cairo_set_source_rgba cr 1.0 1.0 1.0 1.0)
|
(cairo_set_source_rgba cr 1.0 1.0 1.0 1.0)
|
||||||
(cairo_paint cr)
|
(cairo_paint cr)
|
||||||
(cairo_set_operator cr CAIRO_OPERATOR_OVER)))
|
(cairo_set_operator cr CAIRO_OPERATOR_OVER)))
|
||||||
|
|
|
@ -43,4 +43,6 @@
|
||||||
install-color
|
install-color
|
||||||
dc-adjust-smoothing
|
dc-adjust-smoothing
|
||||||
can-combine-text?
|
can-combine-text?
|
||||||
can-mask-bitmap?)
|
can-mask-bitmap?
|
||||||
|
reset-clip
|
||||||
|
get-clear-operator)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user