adjust flush-display

original commit: 61788d68d513ddbbc4d0e4703f54e66b5849031d
This commit is contained in:
Matthew Flatt 2010-09-15 06:20:45 -06:00
parent 0ebcd5678d
commit 0b03ac3345
4 changed files with 15 additions and 6 deletions

View File

@ -157,6 +157,7 @@
(refresh-splash)
(send splash-tlw center 'both)
(thread (λ () (send splash-tlw show #t)))
(sync (system-idle-evt)) ; try to wait for dialog to be shown
(flush-display) (yield) (sleep)
(flush-display) (yield) (sleep)))

View File

@ -7,6 +7,7 @@
"utils.rkt"
"types.rkt"
"frame.rkt"
"window.rkt"
"finfo.rkt" ; file-creator-and-type
"filedialog.rkt"
"../../lock.rkt"
@ -93,7 +94,6 @@
(define (get-control-font-size) 13)
(define (cancel-quit) (void))
(define-unimplemented fill-private-color)
(define (flush-display) (void))
(define-unimplemented write-resource)
(define-unimplemented get-resource)

View File

@ -32,6 +32,7 @@
request-flush-delay
cancel-flush-delay
make-init-point
flush-display
special-control-key
special-option-key)
@ -504,6 +505,9 @@
;; events (e.g., key repeat) have a corresponding
;; stream of screen updates.
(try-to-sync-refresh)
(flush))
(define/public (flush)
(let ([cocoa-win (get-cocoa-window)])
(when cocoa-win
(tellv cocoa-win displayIfNeeded)
@ -676,3 +680,8 @@
(if (= y -11111)
0
y)))
(define (flush-display)
(try-to-sync-refresh)
(for ([win (in-list (get-top-level-windows))])
(send win flush)))

View File

@ -530,8 +530,6 @@
;; re-sync the display in case a stream of
;; events (e.g., key repeat) have a corresponding
;; stream of screen updates.
(try-to-sync-refresh)
(gdk_window_process_all_updates)
(flush-display))
(define/public (handles-events? gtk) #f)
@ -612,10 +610,11 @@
(queue-refresh-event (send win get-eventspace) thunk))
(define-gdk gdk_display_flush (_fun _GdkDisplay -> _void))
(define-gdk gdk_display_sync (_fun _GdkDisplay -> _void))
(define-gdk gdk_display_get_default (_fun -> _GdkDisplay))
(define (flush-display) (gdk_display_flush (gdk_display_get_default)))
(define (sync-display) (gdk_display_sync (gdk_display_get_default)))
(define (flush-display)
(try-to-sync-refresh)
(gdk_window_process_all_updates)
(gdk_display_flush (gdk_display_get_default)))
(define-gdk gdk_window_freeze_updates (_fun _GdkWindow -> _void))
(define-gdk gdk_window_thaw_updates (_fun _GdkWindow -> _void))