diff options
author | Patrick McDermott <patrick.mcdermott@libiquity.com> | 2019-07-17 23:16:34 (EDT) |
---|---|---|
committer | Patrick McDermott <patrick.mcdermott@libiquity.com> | 2019-07-17 23:16:34 (EDT) |
commit | 9875de422d9878b4fbc0e8a8dc408bf1b3a91434 (patch) | |
tree | e16e0af697891f9bd4954f28ff7da80424067cee | |
parent | 4aa7fce693904721d89aa92ed01b89266e3bed1a (diff) |
text_set_width(), text_set_height(): New functions
And fill in all the remaining rows in text_render().
-rw-r--r-- | src/main.c | 2 | ||||
-rw-r--r-- | src/text.c | 19 | ||||
-rw-r--r-- | src/text.h | 6 |
3 files changed, 25 insertions, 2 deletions
@@ -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); @@ -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); @@ -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); |