From 5a54774474f43ae29716751d6415563a59b92c7d Mon Sep 17 00:00:00 2001 From: pk33 Date: Mon, 11 Nov 2024 18:06:18 +0100 Subject: tidying up and basic input --- src/main.c | 63 ++++++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 45 insertions(+), 18 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index bac0cd6..a727b52 100644 --- a/src/main.c +++ b/src/main.c @@ -1,9 +1,11 @@ -#include "display.h" -#include "clock.h" -#include "logger.h" -#include "system.h" #include "signal.h" + +#include "display33.h" +#include "clock33.h" +#include "logger33.h" +#include "system33.h" #include "strings33.h" +#include "input33.h" #include "ui33.h" static void _term_sighandler( int sig ); @@ -14,37 +16,60 @@ int main(int argc, char *argv[]) Size fps, FPS; long timeOld, time; - if( e33_set_signal( SIGHUP, _term_sighandler ) == -1 ) { logw( "SIGHUP not handled"); } - if( e33_set_signal( SIGINT, _term_sighandler ) == -1 ) { logw( "SIGINT not handled"); } - if( e33_set_signal( SIGTERM, _term_sighandler ) == -1 ) { logw( "SIGTERM not handled"); } + if( e33_set_signal( SIGHUP, _term_sighandler ) == -1 ) { LOGW( "SIGHUP not handled"); } + if( e33_set_signal( SIGINT, _term_sighandler ) == -1 ) { LOGW( "SIGINT not handled"); } + if( e33_set_signal( SIGTERM, _term_sighandler ) == -1 ) { LOGW( "SIGTERM not handled"); } timeOld = clock_get_us(); time = 0; fps = 0; FPS = 0; - if( logger_init() ) { + if( logger33_init() ) { return EXIT_FAILURE; } - if( display_init() ) { + if( input33_init() ) { return EXIT_FAILURE; } - logd( "This is a test." ); + if( display33_init() ) { + return EXIT_FAILURE; + } while(1) { - display_vtswitcher_poll(1); + display33_vtswitcher_poll(1); if( __display.active ) { - qsuprintf( 5, 5, "fps: %d", FPS-1 ); + input33_poll(); + + QPRINTF( 5, 5, "fps: %d", FPS-1 ); + + if( KEYDOWN(KEY_K) ) { ui33_add_message("Pressed '%c'", 'K'); } + + if( MOUSEX ) { + __mouse.x += MOUSEX; + } + if( MOUSEY ) { + __mouse.y += MOUSEY; + } - ui_draw_messages(); - display_flip(); + + if( __mouse.x < 0 ) __mouse.x = 0; + if( __mouse.y < 0 ) __mouse.y = 0; + if( __mouse.x >= __display.surface.w ) __mouse.x = __display.surface.w-1; + if( __mouse.y >= __display.surface.h ) __mouse.y = __display.surface.h-1; + ui33_draw_mouse(); + + QPRINTF( 100, 5, "M: x(%d), y(%d)", __mouse.x, __mouse.y ); + + + ui33_draw_messages(); + display33_flip(); } @@ -60,8 +85,10 @@ int main(int argc, char *argv[]) ++fps; } - display_term(); - logger_term(); + + display33_term(); + logger33_term(); + input33_term(); return EXIT_SUCCESS; @@ -70,8 +97,8 @@ int main(int argc, char *argv[]) static void _term_sighandler( int sig ) { - display_term(); - logger_term(); + display33_term(); + logger33_term(); exit(0); } -- cgit v1.2.3