]> git.lizzy.rs Git - nothing.git/commitdiff
(#249) Make size factor of sprite_font_render_text float
authorrexim <reximkut@gmail.com>
Sun, 22 Jul 2018 16:39:30 +0000 (23:39 +0700)
committerrexim <reximkut@gmail.com>
Sun, 22 Jul 2018 16:39:30 +0000 (23:39 +0700)
src/game/camera.c
src/game/camera.h
src/game/sprite_font.c
src/game/sprite_font.h

index 45c63455d0a2dc026c9a39dc9a9e95533612062c..fc3cdcd6b93ee0089d8c73c8207becc400eaa5ef 100644 (file)
@@ -174,7 +174,7 @@ int camera_fill_triangle(camera_t *camera,
 
 int camera_render_text(camera_t *camera,
                        const char *text,
-                       int size,
+                       float size,
                        color_t color,
                        vec_t position)
 {
index b3fe4749912a3c6d0f563031253fee5e0fb4a243..68b764ceb1883f680a42e5268c05d96c13b826be 100644 (file)
@@ -34,7 +34,7 @@ int camera_fill_triangle(camera_t *camera,
 
 int camera_render_text(camera_t *camera,
                        const char *text,
-                       int size,
+                       float size,
                        color_t color,
                        vec_t position);
 
index ac0a7d29dac59abc9d9ffca00c1802898eb09125..08dc6fa28d229c4cca3f04b1085dd50c0af5421f 100644 (file)
@@ -3,6 +3,7 @@
 #include <stdio.h>
 #include <string.h>
 
+#include "math/rect.h"
 #include "sdl/renderer.h"
 #include "sprite_font.h"
 #include "system/error.h"
@@ -91,7 +92,7 @@ static SDL_Rect sprite_font_char_rect(const sprite_font_t *sprite_font, char x)
 int sprite_font_render_text(const sprite_font_t *sprite_font,
                             SDL_Renderer *renderer,
                             vec_t position,
-                            int size,
+                            float size,
                             color_t color,
                             const char *text)
 {
@@ -107,16 +108,14 @@ int sprite_font_render_text(const sprite_font_t *sprite_font,
     }
 
     const size_t text_size = strlen(text);
-    const int px = (int) roundf(position.x);
-    const int py = (int) roundf(position.y);
     for (size_t i = 0; i < text_size; ++i) {
         const SDL_Rect char_rect = sprite_font_char_rect(sprite_font, text[i]);
-        const SDL_Rect dest_rect = {
-            .x = px + CHAR_WIDTH * (int) i * size,
-            .y = py,
-            .w = char_rect.w * size,
-            .h = char_rect.h * size
-        };
+        const SDL_Rect dest_rect = rect_for_sdl(
+            rect(
+                position.x + (float) CHAR_WIDTH * (float) i * size,
+                position.y,
+                (float) char_rect.w * size,
+                (float) char_rect.h * size));
         if (SDL_RenderCopy(renderer, sprite_font->texture, &char_rect, &dest_rect) < 0) {
             return -1;
         }
index 1c9ab94726d11cb3877fa6e5e9ae831a86daeafe..d516a5f36bee4d820e3c89113cc46bde14f6a841 100644 (file)
@@ -13,7 +13,7 @@ void destroy_sprite_font(sprite_font_t *sprite_font);
 int sprite_font_render_text(const sprite_font_t *sprite_font,
                             SDL_Renderer *renderer,
                             vec_t position,
-                            int size,
+                            float size,
                             color_t color,
                             const char *text);