2021-08-31 15:52:53 +02:00
|
|
|
#include <gint/keyboard.h>
|
|
|
|
#include <gint/timer.h>
|
|
|
|
|
|
|
|
#include "term.h"
|
|
|
|
#include <gint/display.h>
|
|
|
|
|
2021-09-01 11:04:31 +02:00
|
|
|
#include "ui.h"
|
2021-08-31 15:52:53 +02:00
|
|
|
|
|
|
|
static char *LOREM_IPSUM =
|
2021-09-01 13:33:21 +02:00
|
|
|
"Lorem ipsum dolor sit amet, consectetur adipiscing elit.\nNam vitae purus dolor.\nPraesent in ex tempus, auctor velit at, "
|
|
|
|
"vulputate sapien.\nAenean semper, dui vitae iaculis mattis, odio libero aliquet elit, nec tempor nisl turpis vel arcu.\n"
|
|
|
|
"Vestibulum eleifend maximus enim at sollicitudin.\nNulla eu commodo justo.\nUt vitae pellentesque erat.\nDuis magna nisl, "
|
|
|
|
"eleifend ac massa at, blandit sollicitudin ipsum.\nInterdum et malesuada fames ac ante ipsum primis in faucibus.\n"
|
|
|
|
"Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.\nUt at libero in turpis porttitor "
|
|
|
|
"viverra.\nUt eu pellentesque purus.\nVestibulum aliquet facilisis ante, eget volutpat metus.\nCras semper lacus ac mauris "
|
|
|
|
"imperdiet, vel egestas est luctus.\nAliquam elit enim, dignissim nec enim vel, consequat ullamcorper libero.\nPellentesque "
|
|
|
|
"at "
|
|
|
|
"iaculis lctus.\nPraesent sed velit at tellus hendrerit mattis eu nec velit.\nPhasellus eu quam nec nisi mattis elementum "
|
|
|
|
"quis "
|
|
|
|
"nec enim.\nNulla efficitur turpis id tempus ultricies.\nPellentesque semper lacinia mi vitae feugiat.\nVestibulum leo nisi, "
|
|
|
|
"pretium quis felis non, mattis varius risus.\n"
|
|
|
|
"Suspendisse porttitor purus lacinia ante euismod, ut eleifend massa fermentum.\nProin pretium elementum massa, at efficitur "
|
2021-08-31 16:30:03 +02:00
|
|
|
"risus iaculis sed.";
|
2021-08-31 15:52:53 +02:00
|
|
|
|
|
|
|
static volatile int key_poll_timeout;
|
|
|
|
static int callback_keypoll(void) {
|
|
|
|
key_poll_timeout = 0;
|
|
|
|
return TIMER_STOP;
|
|
|
|
}
|
|
|
|
|
|
|
|
int main(void) {
|
2021-09-01 10:20:52 +02:00
|
|
|
const int timer = timer_configure(TIMER_ANY, 15625, GINT_CALL(callback_keypoll));
|
2021-09-01 11:04:31 +02:00
|
|
|
int tick_ctr = 0;
|
2021-09-01 13:33:34 +02:00
|
|
|
int shift_state = 0;
|
2021-08-31 15:52:53 +02:00
|
|
|
|
2021-09-01 14:24:10 +02:00
|
|
|
tgrid_sets(1, 0, C_WHITE, C_BLACK, LOREM_IPSUM);
|
|
|
|
|
2021-08-31 15:52:53 +02:00
|
|
|
while (1) {
|
2021-09-01 12:41:58 +02:00
|
|
|
set_statusbar(tick_ctr, shift_state);
|
2021-08-31 17:22:45 +02:00
|
|
|
set_menubar();
|
2021-08-31 15:52:53 +02:00
|
|
|
tgrid_display();
|
|
|
|
|
|
|
|
key_poll_timeout = 1;
|
|
|
|
key_event_t kev = getkey_opt(GETKEY_DEFAULT, &key_poll_timeout);
|
2021-08-31 17:22:45 +02:00
|
|
|
timer_start(timer);
|
2021-09-01 14:24:10 +02:00
|
|
|
if (kev.type != KEYEV_NONE) {
|
|
|
|
term_scroll_down();
|
|
|
|
// clear last line
|
|
|
|
tgrid_sets(UNS_TERM_ROWS - 2, 0, C_WHITE, C_BLACK, "\n");
|
|
|
|
|
2021-08-31 15:52:53 +02:00
|
|
|
tick_ctr++;
|
2021-09-01 14:24:10 +02:00
|
|
|
}
|
2021-08-31 15:52:53 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
}
|