From b14358dc829b1b866016c364219d59f1e34ba474 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Wed, 14 Dec 2022 12:53:52 -0500 Subject: node-2d: Add methods for getting position/size in local space. --- catbird/node-2d.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/catbird/node-2d.scm b/catbird/node-2d.scm index a6a70bd..eb39b6b 100644 --- a/catbird/node-2d.scm +++ b/catbird/node-2d.scm @@ -60,7 +60,13 @@ expire-local-matrix follow-bezier-path local-bounding-box + local-height local-matrix + local-origin-x + local-origin-y + local-width + local-x + local-y move-by move-to on-child-resize @@ -405,6 +411,24 @@ (define-method (default-height (node )) 0.0) +(define-method (local-x (node )) + (rect-x (local-bounding-box node))) + +(define-method (local-y (node )) + (rect-y (local-bounding-box node))) + +(define-method (local-width (node )) + (rect-width (local-bounding-box node))) + +(define-method (local-height (node )) + (rect-height (local-bounding-box node))) + +(define-method (local-origin-x (node )) + (matrix4-transform-x (local-matrix node) 0.0 0.0)) + +(define-method (local-origin-y (node )) + (matrix4-transform-y (local-matrix node) 0.0 0.0)) + (define-method (on-child-resize node child) #t) -- cgit v1.2.3