improve signature of asc_sprite_set_size()

Thu, 10 Jul 2025 22:19:48 +0200

author
Mike Becker <universe@uap-core.de>
date
Thu, 10 Jul 2025 22:19:48 +0200
changeset 195
f9e9b7425ed3
parent 194
7985c3b64460
child 196
ac2ade047d5b

improve signature of asc_sprite_set_size()

src/ascension/sprite.h file | annotate | diff | comparison | revisions
src/sprite.c file | annotate | diff | comparison | revisions
test/snake/snake.c file | annotate | diff | comparison | revisions
--- a/src/ascension/sprite.h	Thu Jul 10 22:13:39 2025 +0200
+++ b/src/ascension/sprite.h	Thu Jul 10 22:19:48 2025 +0200
@@ -69,8 +69,9 @@
 #define asc_sprite(...) \
     asc_sprite_create((struct asc_sprite_create_args) { __VA_ARGS__ })
 
-void asc_sprite_set_size(AscSceneNode *node, unsigned width, unsigned height);
+void asc_sprite_set_size(AscSprite *sprite, asc_vec2u size);
 
+// TODO: can be removed once AscText does no longer depend on AscSprite
 void asc_sprite_draw(const AscCamera *camera, const AscSceneNode *node);
 
 #endif //ASCENSION_SPRITE_H
--- a/src/sprite.c	Thu Jul 10 22:13:39 2025 +0200
+++ b/src/sprite.c	Thu Jul 10 22:19:48 2025 +0200
@@ -141,10 +141,9 @@
     return node;
 }
 
-void asc_sprite_set_size(AscSceneNode *node, unsigned width, unsigned height) {
-    AscSprite *sprite = (AscSprite*) node;
-    sprite->width = width;
-    sprite->height = height;
-    asc_node_update(node);
+void asc_sprite_set_size(AscSprite *sprite, asc_vec2u size) {
+    sprite->width = size.width;
+    sprite->height = size.height;
+    asc_node_update((AscSceneNode *) sprite);
 }
 
--- a/test/snake/snake.c	Thu Jul 10 22:13:39 2025 +0200
+++ b/test/snake/snake.c	Thu Jul 10 22:19:48 2025 +0200
@@ -83,9 +83,9 @@
 static void scale_backdrop(AscBehavior *behavior) {
     // scale the backdrop to the size of the window
     if (asc_active_window->resized) {
-        AscSceneNode *node = behavior->node;
+        asc_ptr_cast(AscSprite, sprite, behavior->node);
         asc_vec2u window_size = asc_active_window->dimensions;
-        asc_sprite_set_size(node, window_size.width, window_size.height);
+        asc_sprite_set_size(sprite, window_size);
     }
 }
 

mercurial