From f698dde993754af151c95eafbf3f0055cc0c1b4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Boh=C3=A1=C4=8Dek?= Date: Mon, 28 Jun 2021 22:18:59 +0200 Subject: [PATCH] fix: text component translation --- lib-gui/src/gui_component_line.c | 3 +-- lib-gui/src/renderer.c | 12 ++++++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/lib-gui/src/gui_component_line.c b/lib-gui/src/gui_component_line.c index 9cf738d..e4cacd2 100644 --- a/lib-gui/src/gui_component_line.c +++ b/lib-gui/src/gui_component_line.c @@ -14,8 +14,7 @@ component_t gui_line_create(const display_pixel_t *color, int16_t x, int16_t y, void gui_line_render(container_t *container, component_t *component, gui_t *gui) { if (gui_is_component_visible(gui, container, component)) { - coords_t coords = gui_component_get_screen_position(container, component); - renderer_render_rectangle(gui->renderer, coords.x, coords.y, component->width, + renderer_render_border(gui->renderer, component->x, component->y, component->width, component->height, *(display_pixel_t *)component->state); } diff --git a/lib-gui/src/renderer.c b/lib-gui/src/renderer.c index 0ee6e38..f8c40a6 100644 --- a/lib-gui/src/renderer.c +++ b/lib-gui/src/renderer.c @@ -160,11 +160,13 @@ void renderer_render_border(renderer_t *renderer, uint16_t x, uint16_t y, if (width > 1 || height == 1) { for (int i = 0; i < width; i++) { if (coords_is_within(x + i, y, beg, end)) { - display_set_pixel(renderer->display, x + i, y, color); + display_set_pixel(renderer->display, x + i + renderer->translate_x, + y + renderer->translate_y, color); } if (coords_is_within(x + i, y + height, beg, end)) { - display_set_pixel(renderer->display, x + i, y + height, color); + display_set_pixel(renderer->display, x + i + renderer->translate_x, + y + height + renderer->translate_y, color); } } } @@ -172,11 +174,13 @@ void renderer_render_border(renderer_t *renderer, uint16_t x, uint16_t y, if (height > 1) { for (int i = 0; i < height; i++) { if (coords_is_within(x, y + i, beg, end)) { - display_set_pixel(renderer->display, x, y + i, color); + display_set_pixel(renderer->display, x + renderer->translate_x, + y + i + renderer->translate_y, color); } if (coords_is_within(x + width, y + i, beg, end)) { - display_set_pixel(renderer->display, x + width, y + i, color); + display_set_pixel(renderer->display, x + width + renderer->translate_x, + y + i + renderer->translate_y, color); } } } -- 2.48.1