#include "string.h" #include "stdarg.h" #include "stdio.h" #include "types.h" #include "strings33.h" #include "logger.h" #define MB_MAX 6 static char messageBox[MB_MAX][256] = { 0, }; static Size A = 0; static Size P = 0; void ui_add_message( String fmt, ... ) { va_list args; va_start(args, fmt); vsnprintf( messageBox[P++], 256, fmt, args ); if( P == MB_MAX ) P = 0; if( P == A ) ++A; if( A == MB_MAX ) A = 0; va_end(args); } void ui_draw_messages( void ) { Size start = __display.surface.h - 5 - 8; Size i = P-1; do { if( i < 0 ) i = MB_MAX-1; qsuprint( messageBox[i], 5, start ); start -= 18; } while( (i--) != A ); }