From 9875de422d9878b4fbc0e8a8dc408bf1b3a91434 Mon Sep 17 00:00:00 2001 From: Patrick McDermott Date: Wed, 17 Jul 2019 23:16:34 -0400 Subject: text_set_width(), text_set_height(): New functions And fill in all the remaining rows in text_render(). --- diff --git a/src/main.c b/src/main.c index a48fd67..9fb84e1 100644 --- a/src/main.c +++ b/src/main.c @@ -36,6 +36,8 @@ main(int argc, char **argv) font = font_find(argv[1]); text = text_new(argv[2]); + text_set_width(text, 80); + text_set_height(text, 25); image = image_new("test.png"); image_render(image, text, font); text_destroy(&text); diff --git a/src/text.c b/src/text.c index b7b569a..dea3259 100644 --- a/src/text.c +++ b/src/text.c @@ -96,6 +96,18 @@ text_get_height(struct text *text) return text->height; } +size_t +text_set_width(struct text *text, size_t width) +{ + return text->width = MAX(text->width, width); +} + +size_t +text_set_height(struct text *text, size_t height) +{ + return text->height = MAX(text->height, height); +} + void text_render(struct text *text, struct font *font, png_bytepp rows) { @@ -142,8 +154,11 @@ text_render(struct text *text, struct font *font, png_bytepp rows) ++string; } } - for (; col < text->width; ++col) { - font_render(font, &fg, &bg, ' ', rows, row, col); + for (; row < text->height; ++row) { + for (; col < text->width; ++col) { + font_render(font, &fg, &bg, ' ', rows, row, col); + } + col = 0; } free(string_start); diff --git a/src/text.h b/src/text.h index 86da775..9c581d6 100644 --- a/src/text.h +++ b/src/text.h @@ -37,6 +37,12 @@ text_get_width(struct text *text) __attribute__((pure)); size_t text_get_height(struct text *text) __attribute__((pure)); +size_t +text_set_width(struct text *text, size_t width); + +size_t +text_set_height(struct text *text, size_t height); + void text_render(struct text *text, struct font *font, png_bytepp rows); -- cgit v0.9.1