From c26231e5650c98d41f216151a085eb8835641fd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Boh=C3=A1=C4=8Dek?= Date: Sun, 20 Jun 2021 21:19:00 +0200 Subject: [PATCH] feat: add gui line component --- text-viewer/include/gui_component_line.h | 8 +++++++ text-viewer/src/gui_component_line.c | 27 ++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 text-viewer/include/gui_component_line.h create mode 100644 text-viewer/src/gui_component_line.c diff --git a/text-viewer/include/gui_component_line.h b/text-viewer/include/gui_component_line.h new file mode 100644 index 0000000..c324474 --- /dev/null +++ b/text-viewer/include/gui_component_line.h @@ -0,0 +1,8 @@ +#include "gui.h" + +component_t gui_line_create(const display_pixel_t *color, int16_t x, int16_t y, int16_t w, int16_t h); + +void gui_line_render(container_t *container, component_t *component, + gui_t *gui); +void gui_line_update(container_t *container, component_t *component, + gui_t *gui); diff --git a/text-viewer/src/gui_component_line.c b/text-viewer/src/gui_component_line.c new file mode 100644 index 0000000..8a8d606 --- /dev/null +++ b/text-viewer/src/gui_component_line.c @@ -0,0 +1,27 @@ +#include "gui_component_line.h" +#include "display_utils.h" +#include "gui.h" +#include "renderer.h" + +component_t gui_line_create(const display_pixel_t *color, int16_t x, int16_t y, + int16_t w, int16_t h) { + component_t line = gui_component_create(x, y, w, h, gui_line_render, gui_line_update); + line.state = (void*)color; + + return line; +} + +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_border(gui->renderer, coords.x, coords.y, component->width, + component->height, + *(display_pixel_t *)component->state); + } +} + +void gui_line_update(container_t *container, component_t *component, + gui_t *gui) { + // do nothing +} -- 2.48.1