Notes and cleanup for gui/val
This commit is contained in:
parent
bb1567f481
commit
f1a4039c55
|
@ -1,15 +1,14 @@
|
||||||
#lang racket/base
|
#lang racket/base
|
||||||
(require racket/class
|
(require racket/class
|
||||||
racket/draw
|
racket/draw
|
||||||
|
racket/fixnum
|
||||||
racket/contract/base
|
racket/contract/base
|
||||||
pict
|
pict
|
||||||
pict/convert)
|
pict/convert)
|
||||||
|
|
||||||
|
;; xxx maybe draw to a bitmap and blit
|
||||||
(define (make-gui/val #:scale? [scale? #t])
|
(define (make-gui/val #:scale? [scale? #t])
|
||||||
(define last-val #f)
|
(λ (o)
|
||||||
(define (output-val o)
|
|
||||||
(unless (eq? o last-val)
|
|
||||||
(set! last-val o)
|
|
||||||
(define p (pict-convert o))
|
(define p (pict-convert o))
|
||||||
(λ (w h dc)
|
(λ (w h dc)
|
||||||
(parameterize ([dc-for-text-size dc])
|
(parameterize ([dc-for-text-size dc])
|
||||||
|
@ -26,7 +25,6 @@
|
||||||
(send dc set-brush "white" 'solid)
|
(send dc set-brush "white" 'solid)
|
||||||
(send dc draw-rectangle left top spw sph)
|
(send dc draw-rectangle left top spw sph)
|
||||||
(draw-pict sp dc left top)))))
|
(draw-pict sp dc left top)))))
|
||||||
output-val)
|
|
||||||
|
|
||||||
(provide
|
(provide
|
||||||
(contract-out
|
(contract-out
|
||||||
|
|
|
@ -11,7 +11,11 @@
|
||||||
lux/chaos/gui/key)
|
lux/chaos/gui/key)
|
||||||
|
|
||||||
(define MODES
|
(define MODES
|
||||||
'(pict image))
|
(list (pict:arrowhead 30 0)
|
||||||
|
(image:add-line
|
||||||
|
(image:rectangle 100 100 "solid" "darkolivegreen")
|
||||||
|
25 25 75 75
|
||||||
|
(image:make-pen "goldenrod" 30 "solid" "round" "round"))))
|
||||||
|
|
||||||
(struct demo
|
(struct demo
|
||||||
(g/v mode)
|
(g/v mode)
|
||||||
|
@ -20,15 +24,7 @@
|
||||||
(lux-standard-label "Values" ft))
|
(lux-standard-label "Values" ft))
|
||||||
(define (word-output w)
|
(define (word-output w)
|
||||||
(match-define (demo g/v mode-n) w)
|
(match-define (demo g/v mode-n) w)
|
||||||
(g/v
|
(g/v (list-ref MODES mode-n)))
|
||||||
(match (list-ref MODES mode-n)
|
|
||||||
['pict
|
|
||||||
(pict:arrowhead 30 0)]
|
|
||||||
['image
|
|
||||||
(image:add-line
|
|
||||||
(image:rectangle 100 100 "solid" "darkolivegreen")
|
|
||||||
25 25 75 75
|
|
||||||
(image:make-pen "goldenrod" 30 "solid" "round" "round"))])))
|
|
||||||
(define (word-event w e)
|
(define (word-event w e)
|
||||||
(match-define (demo g/v mode-n) w)
|
(match-define (demo g/v mode-n) w)
|
||||||
(define closed? #f)
|
(define closed? #f)
|
||||||
|
|
Loading…
Reference in New Issue