aboutsummaryrefslogtreecommitdiff
path: root/source/render.c
diff options
context:
space:
mode:
authorEmil Williams2026-02-01 11:18:13 +0000
committerEmil Williams2026-02-01 11:18:13 +0000
commitf7973d58b2eb298bffe0ad3f88897e02e0497de8 (patch)
treeee5c874a2169d5637b7ee9322607c7aed4469428 /source/render.c
parenta1a82802c8abb4ec296cd271cc87df1b6a67ebea (diff)
downloadEUROPAXI-f7973d58b2eb298bffe0ad3f88897e02e0497de8.tar.xz
EUROPAXI-f7973d58b2eb298bffe0ad3f88897e02e0497de8.tar.zst
game_t and example rendering functions
Diffstat (limited to 'source/render.c')
-rw-r--r--source/render.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/source/render.c b/source/render.c
new file mode 100644
index 0000000..3271b99
--- /dev/null
+++ b/source/render.c
@@ -0,0 +1,30 @@
+#include "all.h"
+
+void draw_square_grid(game_t * game, size_t frame, int size, Texture * texture, int * array, size_t length) {
+ (void)texture;
+ float square_length = size;
+ size_t square = floor(sqrt(length));
+ size_t j, i;
+ float x = game->frame_x[frame], y = game->frame_y[frame];
+ for (i = 0; i < square; ++i) {
+ for (j = 0; j < square; ++j) {
+ DrawRectangleV((Vector2){x+i*square_length, y+j*square_length},
+ (Vector2){square_length, square_length},
+ (Color){80+array[(i*square)+(j)]*18, 0, 0, 255});
+ }
+ }
+}
+
+/* void draw_vertical_bargraph(game_t * game, size_t frame, int size, Color color, int * array, size_t length) { */
+/* } */
+
+void draw_centered_text(game_t * game, size_t frame, int font_size, Color color, char * format, ...) {
+ char buffer[TEXT_BUFFER_LIMIT];
+ va_list ap;
+ va_start(ap, format);
+ vsnprintf(buffer, TEXT_BUFFER_LIMIT, format, ap);
+ va_end(ap);
+ Vector2 v = MeasureTextEx(game->font, buffer, font_size, 1);
+ float x = game->frame_x[frame], y = game->frame_y[frame];
+ DrawTextEx(game->font, buffer, (Vector2){x-v.x/2, y-v.y/2}, font_size, 1, color);
+}