M text-viewer/include/gui_component_text_view.h => text-viewer/include/gui_component_text_view.h +6 -2
@@ 17,9 17,13 @@ typedef struct {
display_pixel_t color;
} multiline_text_t;
-multiline_text_t *gui_multiline_text_create(font_t *font, display_pixel_t color, char *text);
+multiline_text_t *gui_multiline_text_create(font_t *font, display_pixel_t color,
+ char *text);
-component_t gui_text_view_create(gui_t *gui, multiline_text_t *text, int16_t x, int16_t y);
+component_t gui_text_view_create(gui_t *gui, multiline_text_t *text, int16_t x,
+ int16_t y);
+
+uint16_t gui_text_view_get_lines_scrolled(component_t *component);
void gui_text_view_scroll(component_t *text_view, int32_t x, int32_t y);
void gui_text_view_reset_scroll(component_t *text_view);
M text-viewer/src/gui_component_text_view.c => text-viewer/src/gui_component_text_view.c +5 -0
@@ 81,6 81,11 @@ void gui_text_view_full_scroll(component_t *text_view) {
text_view->y = INT16_MIN;
}
+uint16_t gui_text_view_get_lines_scrolled(component_t *component) {
+ multiline_text_t *text = (multiline_text_t *)component->state;
+ return (-component->y) / (text->font->size + text->font->line_spacing);
+}
+
void gui_text_view_render(container_t *container, component_t *component,
gui_t *gui) {
multiline_text_t *text = (multiline_text_t*)component->state;
M text-viewer/src/main.c => text-viewer/src/main.c +8 -1
@@ 1,5 1,6 @@
#include "font.h"
#include "mzapo_led_strip.h"
+#include "mzapo_rgb_led.h"
#include "nonblocking_io.h"
#include "serialize_lock.h"
#include <stdio.h>
@@ 32,17 33,22 @@ int main(int argc, char *argv[]) {
}
}
+ mzapo_rgb_led_t rgb_leds = mzapo_create_rgb_led();
+ rgb_led_clear(&rgb_leds, LED_LEFT);
+ rgb_led_clear(&rgb_leds, LED_RIGHT);
+
if (argc < 2) {
logger_info(&logger, __FILE__, __FUNCTION__, __LINE__, "Not enough arguments");
+ rgb_led_set_red(&rgb_leds, LED_LEFT);
}
display_t display = mzapo_create_display();
- mzapo_rgb_led_t rgb_leds = mzapo_create_rgb_led();
mzapo_ledstrip_t ledstrip = mzapo_create_ledstrip();
void* knobs = mzapo_get_knobs_address();
if (!mzapo_check_pheripherals(&ledstrip, &rgb_leds, &display, &knobs)) {
logger_error(&logger, __FILE__, __FUNCTION__, __LINE__, "Could not initialize some of the pheripherals.");
+ rgb_led_set_red(&rgb_leds, LED_LEFT);
}
mzapo_pheripherals_t pheripherals = mzapo_pheripherals_create(&ledstrip, &rgb_leds, &display, &knobs);
@@ 58,6 64,7 @@ int main(int argc, char *argv[]) {
if (error != FILER_SUCCESS) {
logger_error(&logger, __FILE__, __FUNCTION__, __LINE__, "Could not load file.");
return 1;
+ rgb_led_set_red(&rgb_leds, LED_RIGHT);
}
file_set_nonblocking(STDIN_FILENO, &oldstdin);