Fullscreen support
This commit is contained in:
parent
81d0a65fa1
commit
1e563ee1ec
|
@ -323,7 +323,7 @@
|
||||||
;; SceneManager
|
;; SceneManager
|
||||||
|
|
||||||
(define (spawn-scene-manager)
|
(define (spawn-scene-manager)
|
||||||
(struct scene-manager-state (size offset osds) #:prefab)
|
(struct scene-manager-state (size offset osds fullscreen?) #:prefab)
|
||||||
(define backdrop (rectangle 1 1 "solid" "white"))
|
(define backdrop (rectangle 1 1 "solid" "white"))
|
||||||
|
|
||||||
(define (update-window-size s p)
|
(define (update-window-size s p)
|
||||||
|
@ -366,9 +366,18 @@
|
||||||
(translate ,(- ofs-x) ,(- ofs-y)))
|
(translate ,(- ofs-x) ,(- ofs-y)))
|
||||||
`((translate ,ofs-x ,ofs-y)
|
`((translate ,ofs-x ,ofs-y)
|
||||||
,@osd-blocks))))]
|
,@osd-blocks))))]
|
||||||
|
[(message (at-meta (key-event #\f _ _)))
|
||||||
|
(define fullscreen? (not (scene-manager-state-fullscreen? s)))
|
||||||
|
(let* ((s (struct-copy scene-manager-state s [fullscreen? fullscreen?])))
|
||||||
|
(transition s
|
||||||
|
(patch-seq (retract 'fullscreen #:meta-level 1)
|
||||||
|
(if fullscreen?
|
||||||
|
(assert 'fullscreen #:meta-level 1)
|
||||||
|
patch-empty))))]
|
||||||
[_ #f]))
|
[_ #f]))
|
||||||
(scene-manager-state (vector 0 0) (vector 0 0) (set))
|
(scene-manager-state (vector 0 0) (vector 0 0) (set) #f)
|
||||||
(patch-seq (sub (scroll-offset ?))
|
(patch-seq (sub (key-event #\f #t ?) #:meta-level 1)
|
||||||
|
(sub (scroll-offset ?))
|
||||||
(sub (on-screen-display ? ? ?))
|
(sub (on-screen-display ? ? ?))
|
||||||
(sub (window ? ?) #:meta-level 1))))
|
(sub (window ? ?) #:meta-level 1))))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue