Skip to content

Commit 41a8813

Browse files
committed
sometimes, the bitmap from the canvas make-bitmap method doesn't support transparent bitmaps
in that case, fall back to make-bitmap closes #782
1 parent 6138de0 commit 41a8813

File tree

1 file changed

+15
-1
lines changed
  • drracket-core-lib/drracket/private/syncheck

1 file changed

+15
-1
lines changed

drracket-core-lib/drracket/private/syncheck/gui.rkt

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2016,6 +2016,20 @@ If the namespace does not, they are colored the unbound color.
20162016
(define pending-arrows-key #f)
20172017
(define arrows-bitmap #f)
20182018

2019+
(define use-make-bitmap? #f)
2020+
(define/private (make-a-bitmap canvas w h)
2021+
(cond
2022+
[use-make-bitmap?
2023+
(make-bitmap w h)]
2024+
[else
2025+
(define candidate (send canvas make-bitmap w h))
2026+
(cond
2027+
[(send candidate has-alpha-channel?)
2028+
candidate]
2029+
[else
2030+
(set! use-make-bitmap? #t)
2031+
(make-bitmap w h)])]))
2032+
20192033
;; determine-the-arrows : -> (listof arrows-and-min-max-width?)
20202034
(define/public (handle-arrow-drawing canvas dc dx dy inset-x inset-y width height
20212035
max-width-for-arrow text current-arrows-key
@@ -2043,7 +2057,7 @@ If the namespace does not, they are colored the unbound color.
20432057
(unless (and arrows-bitmap
20442058
(= (send arrows-bitmap get-width) width)
20452059
(= (send arrows-bitmap get-height) height))
2046-
(set! arrows-bitmap (send canvas make-bitmap width height)))
2060+
(set! arrows-bitmap (make-a-bitmap canvas width height)))
20472061

20482062
(define bdc (make-object bitmap-dc% arrows-bitmap))
20492063
(send bdc erase)

0 commit comments

Comments
 (0)