~ruther/CTU-FEE-B0B35APO-Semestral-project

c26231e5650c98d41f216151a085eb8835641fd5 — František Boháček 3 years ago a9a15fd
feat: add gui line component
2 files changed, 35 insertions(+), 0 deletions(-)

A text-viewer/include/gui_component_line.h
A text-viewer/src/gui_component_line.c
A text-viewer/include/gui_component_line.h => text-viewer/include/gui_component_line.h +8 -0
@@ 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);

A text-viewer/src/gui_component_line.c => text-viewer/src/gui_component_line.c +27 -0
@@ 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
}

Do not follow this link