;;;; package.lisp (defpackage #:wheelwork (:use #:cl) (:nicknames #:ww) (:local-nicknames (#:mat #:3d-matrices) (#:vec #:3d-vectors)) (:import-from #:defclass-std #:defclass/std) (:import-from #:alexandria-2 #:when-let #:when-let* #:if-let #:with-gensyms) (:export ;; Affine API #:height #:radians #:rotation #:scale-by #:scale-x #:scale-y #:units-intersect-p #:width #:x #:y ;; application API #:application #:application-focus #:application-height #:application-width #:application-window #:appplication-scale #:asset-classifiers #:asset-root #:boot #:fps #:get-asset #:get-focus #:refocus-on #:refocus-on-mousedown-p #:shutdown #:start #:stop ;; Display Tree Managmennt #:add-unit #:drop-unit ;; Event Handler API #:add-handler #:defhandler #:on-after-added #:on-before-added #:on-before-dropped #:on-blur #:on-focus #:on-keydown #:on-keyup #:on-mousedown #:on-mousemotion #:on-mousewheel #:on-perframe #:remove-handler ;; Event Names, useful for dropping whole classes of events from a ;; unit #:after-added #:before-added #:before-dropped #:blur #:focus #:keydown #:keyup #:mousedown #:mousemotion #:mouseup #:mousewheel #:perframe ;; Generic and APIs #:unit-visbilep #:unit-in-scene-p ;; Specific Unit Classes and APIs #:image #:button #:button-bg #:button-down #:button-on-press #:button-on-release #:button-up #:canvas #:blit #:clear-canvas #:with-current-pen #:with-pen #:with-canvas #:restore-pen #:canvas-pen-color #:canvas-pen-width #:move-pen-to #:move-pen-rel #:apply-pen-at #:stroke-to #:stroke-rel #:stroke-path #:stroke-rel-path #:stroke-steps #:fill-path #:fill-steps #:fill-rel-path #:stroke-rect #:stroke-rel-rect #:fill-rect #:fill-rel-rect #:stroke-bezier #:stroke-rel-bezier #:fill-bezier #:fill-rel-bezier #:frameset #:frameset-index #:make-frameset #:runningp #:text #:text-color #:sprite #:current-frameset #:sprite-frameset #:sprite-frameset-key ;; Assets #:asset #:png #:texture #:asset-path #:font))