streamline gtk widget repositioning
original commit: 7edbdd8a5a13b826977d5531fee4e16e909d2e9e
This commit is contained in:
parent
e2687511b3
commit
4cc2244c0c
|
@ -41,6 +41,8 @@
|
|||
(define-gtk gtk_hscrollbar_new (_fun _pointer -> _GtkWidget))
|
||||
(define-gtk gtk_vscrollbar_new (_fun _pointer -> _GtkWidget))
|
||||
|
||||
(define-gtk gtk_widget_set_double_buffered (_fun _GtkWidget _gboolean -> _void))
|
||||
|
||||
(define _GtkAdjustment _GtkWidget) ; no, actually a GtkObject
|
||||
(define-gtk gtk_adjustment_new (_fun _double* _double* _double* _double* _double* _double* -> _GtkAdjustment))
|
||||
(define-gtk gtk_adjustment_configure (_fun _GtkAdjustment _double* _double* _double* _double* _double* _double* -> _void)
|
||||
|
@ -282,6 +284,7 @@
|
|||
(GtkRequisition-height r))))
|
||||
|
||||
(connect-expose client-gtk)
|
||||
#;(gtk_widget_set_double_buffered client-gtk #f)
|
||||
(connect-key-and-mouse client-gtk)
|
||||
(connect-focus client-gtk)
|
||||
(gtk_widget_add_events client-gtk (bitwise-ior GDK_KEY_PRESS_MASK
|
||||
|
@ -329,6 +332,12 @@
|
|||
(set! paint-queued? #f)
|
||||
(set! now-drawing? #t)
|
||||
(send dc reset-backing-retained) ; clean slate
|
||||
(let ([bg (get-canvas-background)])
|
||||
(when bg
|
||||
(let ([old-bg (send dc get-background)])
|
||||
(send dc set-background bg)
|
||||
(send dc clear)
|
||||
(send dc set-background old-bg))))
|
||||
(on-paint)
|
||||
(set! now-drawing? #f)
|
||||
(when refresh-after-drawing?
|
||||
|
|
|
@ -136,8 +136,9 @@
|
|||
(when label
|
||||
(gtk_window_set_title gtk label))
|
||||
|
||||
(define/public (set-child-position child-gtk x y)
|
||||
(gtk_fixed_move panel-gtk child-gtk x y))
|
||||
(define/override (set-child-size child-gtk x y w h)
|
||||
(gtk_fixed_move panel-gtk child-gtk x y)
|
||||
(gtk_widget_set_size_request child-gtk w h))
|
||||
|
||||
(define/public (on-close) (void))
|
||||
|
||||
|
@ -255,7 +256,7 @@
|
|||
(direct-show #f))
|
||||
|
||||
(define/override (on-client-size w h)
|
||||
(on-size w h))
|
||||
(void))
|
||||
|
||||
(define/augment (is-enabled-to-root?) #t)
|
||||
|
||||
|
|
|
@ -53,4 +53,4 @@
|
|||
|
||||
(define/override (set-child-size child-gtk x y w h)
|
||||
(gtk_fixed_move client-gtk child-gtk x y)
|
||||
(super set-child-size child-gtk x y w h))))
|
||||
(gtk_widget_set_size_request child-gtk w h))))
|
||||
|
|
|
@ -64,4 +64,4 @@
|
|||
|
||||
(define/override (set-child-size child-gtk x y w h)
|
||||
(gtk_fixed_move gtk child-gtk x y)
|
||||
(super set-child-size child-gtk x y w h))))
|
||||
(gtk_widget_set_size_request child-gtk w h))))
|
||||
|
|
|
@ -165,4 +165,4 @@
|
|||
|
||||
(define/override (set-child-size child-gtk x y w h)
|
||||
(gtk_fixed_move client-gtk child-gtk x y)
|
||||
(super set-child-size child-gtk x y w h))))
|
||||
(gtk_widget_set_size_request child-gtk w h))))
|
||||
|
|
|
@ -332,13 +332,18 @@
|
|||
(gtk_widget_set_size_request child-gtk w h)
|
||||
(gtk_widget_size_allocate child-gtk (make-GtkAllocation x y w h)))
|
||||
|
||||
(define on-size-queued? #f)
|
||||
(define/public (remember-size w h)
|
||||
;; called in event-pump thread
|
||||
(unless (and (= save-w w)
|
||||
(= save-h h))
|
||||
(set! save-w w)
|
||||
(set! save-h h)
|
||||
(queue-window-event this (lambda () (on-size w h)))))
|
||||
(unless on-size-queued?
|
||||
(set! on-size-queued? #t)
|
||||
(queue-window-event this (lambda ()
|
||||
(set! on-size-queued? #f)
|
||||
(on-size w h))))))
|
||||
|
||||
(define client-delta-w 0)
|
||||
(define client-delta-h 0)
|
||||
|
@ -348,7 +353,8 @@
|
|||
;; Called in the Gtk event-loop thread
|
||||
;(set! client-delta-w (max min-client-delta-w (- save-w w)))
|
||||
;(set! client-delta-h (max min-client-delta-h (- save-h h)))
|
||||
(queue-window-event this (lambda () (on-size 0 0))))
|
||||
#;(queue-window-event this (lambda () (on-size 0 0)))
|
||||
(void))
|
||||
(define/public (tentative-client-size w h)
|
||||
(void))
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user