Usermode/GUI Terminal - Fixed some characters not triggering end of normal text
[tpg/acess2.git] / Usermode / Applications / gui_shell_src / include / display.h
index 80bc69c..26601fe 100644 (file)
@@ -3,19 +3,37 @@
  * - By John Hodge (thePowersGang)
  *
  * display.h
- * - RichText Termianl Translation
+ * - RichText terminal translation
  */
 #ifndef _DISPLAY_H_
 #define _DISPLAY_H_
 
-extern void    Display_AddText(int Length, const char *UTF8Text);
-extern void    Display_Newline(int bCarriageReturn);
-extern void    Display_SetCursor(int Row, int Col);
-extern void    Display_MoveCursor(int RelRow, int RelCol);
-extern void    Display_ClearLine(int Dir);     // 0: All, 1: Forward, -1: Reverse
-extern void    Display_ClearLines(int Dir);    // 0: All, 1: Forward, -1: Reverse
-extern void    Display_SetForeground(uint32_t RGB);
-extern void    Display_SetBackground(uint32_t RGB);
+#include <stdint.h>
+#include <stddef.h>    // size_t
+#include <stdbool.h>
+
+typedef struct sTerminal       tTerminal;
+
+extern tTerminal       *Display_Init(int Cols, int Lines, int ExtraScrollbackLines);
+
+extern void    Display_AddText(tTerminal *Term, size_t Length, const char *UTF8Text);
+extern void    Display_Newline(tTerminal *Term, bool bCarriageReturn);
+extern void    Display_SetCursor(tTerminal *Term, int Row, int Col);
+extern void    Display_MoveCursor(tTerminal *Term, int RelRow, int RelCol);
+extern void    Display_ClearLine(tTerminal *Term, int Dir);    // 0: All, 1: Forward, -1: Reverse
+extern void    Display_ClearLines(tTerminal *Term, int Dir);   // 0: All, 1: Forward, -1: Reverse
+extern void    Display_SetForeground(tTerminal *Term, uint32_t RGB);
+extern void    Display_SetBackground(tTerminal *Term, uint32_t RGB);
+/**
+ * \brief Ensure that recent updates are flushed to the server
+ * \note Called at the end of an "input" buffer
+ */
+extern void    Display_Flush(tTerminal *Term);
+
+/**
+ * \brief Switch the display to the alternate buffer (no scrollback)
+ */
+extern void    Display_ShowAltBuffer(tTerminal *Term, bool AltBufEnabled);
 
 #endif
 

UCC git Repository :: git.ucc.asn.au