aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorColin Okay <colin@cicadas.surf>2022-06-24 08:39:43 -0500
committerColin Okay <colin@cicadas.surf>2022-06-24 08:39:43 -0500
commit622add17d99c909b582b175f5e8378f9888cca8a (patch)
tree3ad950a98b84de1f50198611d9403f499b511e84
parentd92ad0e6b07d55287179ea3f9584e4923c3f34f8 (diff)
[modify] mousedown events default to the app itself
-rw-r--r--examples/02-moving-bitmp.lisp3
-rw-r--r--wheelwork.lisp4
2 files changed, 6 insertions, 1 deletions
diff --git a/examples/02-moving-bitmp.lisp b/examples/02-moving-bitmp.lisp
index 153ca1d..ca32b44 100644
--- a/examples/02-moving-bitmp.lisp
+++ b/examples/02-moving-bitmp.lisp
@@ -86,6 +86,9 @@
(bm2
(make-instance 'ww::bitmap
:texture (ww::get-asset "RootBear.png"))))
+
+ (ww::set-handler app #'wheelie)
+
;; first
(ww::refocus-on bm)
(ww::set-handler bm #'animate-move-thing )
diff --git a/wheelwork.lisp b/wheelwork.lisp
index fb4e5bb..3a39dd2 100644
--- a/wheelwork.lisp
+++ b/wheelwork.lisp
@@ -393,7 +393,9 @@ necessary."
Additionally, if the APPLICATION's REFOCUS-ON-MOUSEDOWN-P is T, try to
give focus to whatever was clicked."
(destructuring-bind (x y) (screen-to-world wx wy)
- (when-let (target (unit-under app x y))
+ (let ((target
+ (or (unit-under app x y) ; if no unit is under the mouse,
+ app))) ; then target the app itself
(when (refocus-on-mousedown-p app)
(refocus-on target))
(when-let (handler (get-handler-for target 'mousedown))