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;