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

1ba769be8fa59e95338e020ca25144cb48d58f12 — František Boháček 4 years ago 3ada204
feat: add full vertial scroll command
M text-viewer/include/gui_component_text_view.h => text-viewer/include/gui_component_text_view.h +1 -0
@@ 23,6 23,7 @@ component_t gui_text_view_create(gui_t *gui, multiline_text_t *text, int16_t x, 

void gui_text_view_scroll(component_t *text_view, int16_t x, int16_t y);
void gui_text_view_reset_scroll(component_t *text_view);
void gui_text_view_full_scroll(component_t *text_view);

void gui_text_view_render(container_t *container, component_t *component,
                          gui_t *gui);

M text-viewer/src/gui_component_text_view.c => text-viewer/src/gui_component_text_view.c +7 -1
@@ 2,6 2,7 @@
#include "display_utils.h"
#include "input.h"
#include "renderer.h"
#include <stdint.h>
#include <string.h>
#include <stdlib.h>
#include "direction.h"


@@ 75,11 76,16 @@ void gui_text_view_reset_scroll(component_t *text_view) {
  text_view->y = 0;
}

void gui_text_view_full_scroll(component_t *text_view) {
  text_view->x = 0;
  text_view->y = INT16_MIN; 
}

void gui_text_view_render(container_t *container, component_t *component,
                          gui_t *gui) {
  multiline_text_t *text = (multiline_text_t*)component->state;
  font_t *font = text->font;
  int16_t x_offset = component->x, y_offset = component->y;
  int32_t x_offset = component->x, y_offset = component->y;

  if (x_offset > 0) {
    x_offset = 0;