1.1 --- a/src/text.c Tue Mar 26 20:37:21 2024 +0100 1.2 +++ b/src/text.c Thu Mar 28 23:30:21 2024 +0100 1.3 @@ -42,7 +42,7 @@ 1.4 1.5 // Upload model matrix 1.6 glUniformMatrix4fv(shader->base.model, 1, 1.7 - GL_FALSE, node->base.final_transform); 1.8 + GL_FALSE, node->base.world_transform); 1.9 1.10 // Upload surface 1.11 glActiveTexture(GL_TEXTURE0); 1.12 @@ -56,11 +56,6 @@ 1.13 asc_primitives_draw_plane(); 1.14 } 1.15 1.16 -static void asc_text_update_transform(AscText *node) { 1.17 - asc_transform_scale2i(node->base.local_transform, node->dimension); 1.18 - asc_transform_translate2i(node->base.world_transform, node->position); 1.19 -} 1.20 - 1.21 static void asc_text_update(AscText *node) { 1.22 // short circuit if fully transparent or hidden, we don't need anything 1.23 if (node->color.alpha == 0 || node->hidden) { 1.24 @@ -87,9 +82,9 @@ 1.25 asc_error(SDL_GetError()); 1.26 return; 1.27 } 1.28 - node->dimension.width = surface->w; 1.29 - node->dimension.height = surface->h; 1.30 - asc_node_update_transform((AscSceneNode *) node); 1.31 + node->base.scale.width = (float) surface->w; 1.32 + node->base.scale.height = (float) surface->h; 1.33 + asc_update_transform((AscSceneNode *) node); 1.34 1.35 // Transfer Image Data 1.36 // TODO: move the image data transfer to a separate function - we will need it more often 1.37 @@ -113,11 +108,10 @@ 1.38 node->base.render_group = ASC_RENDER_GROUP_SPRITE_BLEND; 1.39 node->base.free_func = (asc_scene_free_func) asc_text_free; 1.40 node->base.update_func = (asc_scene_update_func) asc_text_update; 1.41 - node->base.transform_update_func = (asc_scene_update_func) asc_text_update_transform; 1.42 node->base.draw_func = (asc_scene_draw_func) asc_text_draw; 1.43 1.44 - node->position.x = x; 1.45 - node->position.y = y; 1.46 + node->base.position.x = (float) x; 1.47 + node->base.position.y = (float) y; 1.48 node->font = asc_context.active_font; 1.49 node->color = asc_context.ink; 1.50 if (text != NULL) { 1.51 @@ -126,7 +120,6 @@ 1.52 1.53 // initialize 1.54 asc_text_update(node); 1.55 - asc_text_update_transform(node); 1.56 1.57 return &node->base; 1.58 }