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;
// Call set again, it's freed, and if NULL it doesn't get reallocated.
tVideo_IOCtl_Bitmap *VideoCursor;
+ struct {
+ int Current;
+ size_t CurrentSize;
+ size_t Offset;
+ int CachePos;
+ char Cache[32];
+ size_t PreEat;
+ } Cmd2D;
+
tPTY *PTY;
};
// === FUNCTIONS ===
extern void VT_SetResolution(int Width, int Height);
extern void VT_SetTerminal(int ID);
+extern void VT_int_Handle2DCmd(void *Handle, size_t Length, const void *Data);
// --- Output ---
extern void VT_InitOutput(void);
extern void VT_SetMode(int Mode);
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);