aboutsummaryrefslogtreecommitdiffhomepage
path: root/gui/button.lisp
diff options
context:
space:
mode:
authorcolin <colin@cicadas.surf>2024-12-14 08:36:23 -0800
committercolin <colin@cicadas.surf>2024-12-14 08:36:23 -0800
commit3a2217263d581be9a7f629b10d75aa8e3d581890 (patch)
tree23f5f0a5449a06473aba2ec7914a3c2193823a10 /gui/button.lisp
parent03cdbb6a15e130a012377ab8d54074b6864e3480 (diff)
parent8a51ba81c7df6b0b6dab7cf4b35b5ca084b653ba (diff)
Merge branch 'refactor-with-def'
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 ()