restore auto-scroll canvases; fix text-rotation bug
original commit: cc55bd7e93a521456d5b4cd17a061df4a447319d
This commit is contained in:
parent
a13829397f
commit
ad1eed5071
|
@ -264,7 +264,10 @@
|
|||
|
||||
(define/public (fix-dc [refresh? #t])
|
||||
(when (dc . is-a? . dc%)
|
||||
(send dc reset-backing-retained))
|
||||
(send dc reset-backing-retained)
|
||||
(send dc set-auto-scroll
|
||||
(if auto-scroll? (scroll-pos h-scroller) 0)
|
||||
(if auto-scroll? (scroll-pos v-scroller) 0)))
|
||||
(when refresh? (refresh)))
|
||||
|
||||
(define/override (get-client-size xb yb)
|
||||
|
|
|
@ -29,7 +29,8 @@
|
|||
(class (dc-mixin bitmap-dc-backend%)
|
||||
(inherit call-with-cr-lock
|
||||
internal-get-bitmap
|
||||
internal-set-bitmap)
|
||||
internal-set-bitmap
|
||||
reset-cr)
|
||||
|
||||
(super-new)
|
||||
|
||||
|
@ -91,6 +92,7 @@
|
|||
(internal-set-bitmap bm #t))
|
||||
(let ([cr (super get-cr)])
|
||||
(set! retained-cr cr)
|
||||
(reset-cr cr)
|
||||
cr))))
|
||||
|
||||
(define/override (release-cr cr)
|
||||
|
|
|
@ -312,15 +312,13 @@
|
|||
|
||||
(define/private (reset-dc)
|
||||
(send dc reset-backing-retained)
|
||||
(if auto-scroll?
|
||||
(send dc reset-dc
|
||||
(if virtual-width
|
||||
(gtk_adjustment_get_value hscroll-adj)
|
||||
0)
|
||||
(if virtual-height
|
||||
(gtk_adjustment_get_value vscroll-adj)
|
||||
0))
|
||||
(void)))
|
||||
(send dc set-auto-scroll
|
||||
(if virtual-width
|
||||
(gtk_adjustment_get_value hscroll-adj)
|
||||
0)
|
||||
(if virtual-height
|
||||
(gtk_adjustment_get_value vscroll-adj)
|
||||
0)))
|
||||
|
||||
(define/override (internal-on-client-size w h)
|
||||
(reset-dc))
|
||||
|
|
|
@ -33,29 +33,7 @@
|
|||
(values (unbox xb) (unbox yb))))
|
||||
|
||||
(define/override (queue-backing-flush)
|
||||
(send canvas queue-backing-flush))
|
||||
|
||||
(define suspend-count 0)
|
||||
(define req #f)
|
||||
|
||||
(define/override (suspend-flush)
|
||||
(as-entry
|
||||
(lambda ()
|
||||
#;
|
||||
(when (zero? suspend-count)
|
||||
(set! req (request-flush-delay (send canvas get-cocoa-window))))
|
||||
(set! suspend-count (add1 suspend-count))
|
||||
(super suspend-flush))))
|
||||
|
||||
(define/override (resume-flush)
|
||||
(as-entry
|
||||
(lambda ()
|
||||
(set! suspend-count (sub1 suspend-count))
|
||||
#;
|
||||
(when (and (zero? suspend-count) req)
|
||||
(cancel-flush-delay req)
|
||||
(set! req #f))
|
||||
(super resume-flush))))))
|
||||
(send canvas queue-backing-flush))))
|
||||
|
||||
(define (do-backing-flush canvas dc win)
|
||||
(send dc on-backing-flush
|
||||
|
|
|
@ -967,7 +967,7 @@
|
|||
(send dc clear)
|
||||
|
||||
(send dc set-alpha current-alpha)
|
||||
(send dc set-rotation current-rotation)
|
||||
(send dc set-rotation (- current-rotation))
|
||||
(send dc set-initial-matrix (if current-skew?
|
||||
(vector 1 0 0.2 1 3 0)
|
||||
(vector 1 0 0 1 0 0)))
|
||||
|
|
Loading…
Reference in New Issue
Block a user