VT100 - Replace global buffer with per-terminal, further implementation of escape...
[tpg/acess2.git] / KernelLand / Kernel / drv / vterm.h
index 39cc438..65cdd65 100644 (file)
@@ -46,6 +46,8 @@ struct sVTerm
 {
         int    Mode;   //!< Current Mode (see ::eTplTerminal_Modes)
         int    Flags;  //!< Flags (see VT_FLAG_*)
+
+       void    *VT100Info;
        
        short   Width;  //!< Virtual Width
        short   Height; //!< Virtual Height
@@ -62,6 +64,7 @@ struct sVTerm
         int    AltWritePos;    //!< Alternate write position
        short   ScrollTop;      //!< Top of scrolling region (smallest)
        short   ScrollHeight;   //!< Length of scrolling region
+        int    SavedWritePos;  //!< Saved cursor position (\e[s and \e[u)
 
        char    EscapeCodeCache[16];
        size_t  EscapeCodeLen;
@@ -118,9 +121,11 @@ extern void        VT_int_ParseEscape_StandardLarge(tVTerm *Term, char CmdChar, int arg
 extern int     VT_int_ParseEscape(tVTerm *Term, const char *Buffer, size_t Bytes);
 // --- Terminal Buffer ---
 extern void    VT_int_PutString(tVTerm *Term, const Uint8 *Buffer, Uint Count);
+extern void    VT_int_PutRawString(tVTerm *Term, const Uint8 *String, size_t Bytes);
 extern void    VT_int_PutChar(tVTerm *Term, Uint32 Ch);
 extern void    VT_int_ScrollText(tVTerm *Term, int Count);
 extern void    VT_int_ClearLine(tVTerm *Term, int Num);
+extern void    VT_int_ClearInLine(tVTerm *Term, int Row, int FirstCol, int LastCol);
 extern void    VT_int_Resize(tVTerm *Term, int NewWidth, int NewHeight);
 extern void    VT_int_ToggleAltBuffer(tVTerm *Term, int Enabled);
 

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