3 * - By John Hodge (thePowersGang)
6 * - Abstract display manipulation methods
8 #include "include/display.h"
9 #include <acess/sys.h> // _SysDebug
10 #include <stdlib.h> // exit
12 #define UNIMPLIMENTED() do{_SysDebug("UNIMPLIMENTED %s", __func__); exit(-1);}while(0)
18 int giCurrentLinePos; // byte offset, not column
20 int giFirstLine; // Ring buffer start
21 char **gasDisplayLines;
24 void Display_Init(void)
26 gasDisplayLines = malloc( sizeof(char*) * MAX_LINES );
29 void Display_AddText(int Length, const char *UTF8Text)
31 _SysDebug("%i '%.*s'", Length, Length, UTF8Text);
35 void Display_Newline(int bCarriageReturn)
40 void Display_SetCursor(int Row, int Col)
45 void Display_MoveCursor(int RelRow, int RelCol)
50 void Display_ClearLine(int Dir) // 0: All, 1: Forward, -1: Reverse
55 void Display_ClearLines(int Dir) // 0: All, 1: Forward, -1: Reverse
60 void Display_SetForeground(uint32_t RGB)
65 void Display_SetBackground(uint32_t RGB)
70 void Display_Flush(void)