racket/collects/htdp/draw-sig.ss
Eli Barzilay 3459c3a58f merged units branch
svn: r5033
2006-12-05 20:31:14 +00:00

47 lines
1.5 KiB
Scheme

#cs(module draw-sig mzscheme
(provide core-draw^ draw^)
(require (lib "unit.ss"))
;; xxx-solid-rect cannot be called xxx-solid-rectangle because that
;; interferes with the existing xxx-solid-rectangle name in our unit
;; calculus -- mf
(define-signature core-draw^
(start
start/cartesian-plane
stop
;; ---
start-and-export
;; like start but also consumes a hashtable
;; adds the procedures that can be called during a sequnce to the hashtable
;; --- the following can be called during a draw sequence ---
draw-circle
draw-solid-disk
draw-solid-rect
draw-solid-line
draw-solid-string
clear-circle
clear-solid-disk
clear-solid-rect
clear-solid-line
clear-solid-string
clear-all
;; --- stupid stuff ---
sleep-for-a-while
wait-for-mouse-click ; -> posn
get-key-event ; -> (union #f char symbol)
get-mouse-event ; -> (union #f posn)
;;
;; "hidden" access to viewports (for htdc/[i]draw mostly)
get-@VP ; -> Viewport
begin-draw-sequence ; Viewport Viewport -> #t
end-draw-sequence ; -> #t
;;
big-bang ; World -> true
on-key-event ; (union char symbol) World -> World
on-tick-event ; World -> World
end-of-time ; -> World
))
(define-signature draw^ extends core-draw^ ()))