aboutsummaryrefslogtreecommitdiffhomepage
path: root/gui/button.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'gui/button.lisp')
-rw-r--r--gui/button.lisp23
1 files changed, 15 insertions, 8 deletions
diff --git a/gui/button.lisp b/gui/button.lisp
index b4a41e9..bebea08 100644
--- a/gui/button.lisp
+++ b/gui/button.lisp
@@ -2,14 +2,21 @@
(in-package #:wheelwork)
-(defclass/std button (unit interactive)
- ((up down :with
- :std (error "UP and DOWN lots are required")
- :doc "Any affine renderable unit")
- (bg :with)
- (on-press on-release :with :doc "Function accepting the button."))
- (:documentation "A basic button class. The UP and DOWN slots should
- be filled with renderable objects having the same size."))
+(def:class button (unit interactive)
+ ((up "Image when button is up")
+ (down "Image when button is down")
+ :required :prefix :type unit)
+ ((bg "optional background image")
+ :prefix
+ :type (or null unit)
+ :initform nil)
+ (on-press
+ on-release
+ :prefix
+ :type function
+ :documentation "Function accepting the BUTTON instance.")
+
+ :documentation "Basic button. UP and DOWN should be the same size.")
(defhandler button-released
(on-mouseup ()