From 98b5811d8b50d20f8c15e9b202f0d3f0457df58b Mon Sep 17 00:00:00 2001 From: Colin Okay Date: Thu, 30 Jun 2022 09:29:28 -0500 Subject: [modify] affine fns are generic; [add] safe-slot util --- src/protocol.lisp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/protocol.lisp') diff --git a/src/protocol.lisp b/src/protocol.lisp index f8386a6..bd436e6 100644 --- a/src/protocol.lisp +++ b/src/protocol.lisp @@ -33,3 +33,29 @@ (defgeneric ensure-loaded (asset) (:documentation "Ensures that the asset is loaded into memory and ready for use. Returns the asset.")) + +(defgeneric scale-by (thing amount) + (:documentation "Scale horizontal and vertical dimensions of THING by AMOUNT")) + +(defgeneric width (thing) + (:documentation "Returns the effective width, in screen coordinates, of the object in question")) + +(defgeneric (setf width) (new-width thing) + (:documentation "Sets the effective width of thing to new-width.")) + +(defgeneric height (thing) + (:documentation "Returns effective height, in screen coordinates, of the object in question.")) + +(defgeneric (setf height) (new-height thing) + (:documentation "sets the effective height of thing to new-height")) + +(defgeneric rotation (thing)) +(defgeneric (setf rotation) (newval thing)) +(defgeneric x (thing)) +(defgeneric (setf x) (newval thing)) +(defgeneric y (thing)) +(defgeneric (setf y) (newval thing)) +(defgeneric scale-x (thing)) +(defgeneric (setf scale-x) (newvval thing)) +(defgeneric scale-y (thing)) +(defgeneric (setf scale-y) (newval thing)) -- cgit v1.2.3