Class TScreen (unit Emulvt) |
TObject
TScreen is an object to hold an entire screen of line and handle } { Ansi escape sequences to update this virtual screen
Constructors |
Functions |
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { IBM character set operation (not part of the ANSI standard) } {
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { Move cursor Up, scroll down if necessary
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Properties |
Events |
Variables |
Constructors |
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Functions |
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Restore cursor location
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Save cursor location
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Terminal mode reset
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Cursor position report
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Cursor Up
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Cursor Down
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Cursor Right
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Restore cursor location
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Set Cursor Position
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Restore Cursor
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { IBM character set operation (not part of the ANSI standard) } { Select IBM char set * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Clear the screen * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Erase to End of Line * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Terminal mode set * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Insert Line * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Delete Line * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Select Attributes * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Cursor Left * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Insert character * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Delete Character * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Scrolling margins * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Scroll up * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Next line * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Save cursor location * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Reverse index * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Index * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { Move cursor Up, scroll down if necessary Scroll down * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * G0 character set * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * G1 character set * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * G2 character set * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { Read characters from the cursor to end of line * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * G3 character set * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { Write a single character at current cursor location. } { Update cursor position. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { Write characters at current cursor location. Update cursor position. Properties Events Variables procedure ProcessCSI_J;
procedure ProcessCSI_K;
procedure ProcessCSI_L;
procedure ProcessCSI_l_lc;
procedure ProcessCSI_M;
procedure ProcessCSI_m_lc;
procedure ProcessCSI_n_lc;
procedure ProcessCSI_P;
procedure ProcessCSI_r_lc;
procedure ProcessCSI_S;
procedure ProcessCSI_s_lc;
procedure ProcessCSI_T;
procedure ProcessCSI_u;
procedure ProcessCSI_u_lc;
procedure ProcessEscape(EscCmd : Char);
procedure ProcessESC_D;
procedure ProcessESC_E;
procedure ProcessESC_M;
procedure process_charset_G0(EscCmd : Char);
procedure process_charset_G1(EscCmd : Char);
procedure process_charset_G2(EscCmd : Char);
procedure process_charset_G3(EscCmd : Char);
function ReadStr : String;
procedure ScrollDown;
procedure ScrollUp;
procedure SetAttr(Att : Char);
procedure UnimplementedEscape(EscCmd : Char);
procedure WriteChar(Ch : Char);
procedure WriteLiteralChar(Ch : Char);
procedure WriteStr(Str : String);
event OnCursorVisible : TNotifyEvent
FAllInvalid : Boolean;
FAttribute : Byte;
FAutoCR : Boolean;
FAutoLF : Boolean;
FAutoWrap : Boolean;
FCarbonMode : Boolean;
FCharSetG0 : Char;
FCharSetG1 : Char;
FCharSetG2 : Char;
FCharSetG3 : Char;
FCKeyMode : Boolean;
FCntLiteral : Integer;
FCol : Integer;
FColCount : Integer;
FColSaved : Integer;
FCursorOff : Boolean;
FEscBuffer : String[80];
FEscFlag : Boolean;
FForceHighBit : Boolean;
FInvRect : TRect;
FLines : array [0..MAX_ROW] of TLine;
FNoXlat : Boolean;
FNoXlatInitial : Boolean;
Focused : Boolean;
FOnCursorVisible : TNotifyEvent;
FReverseVideo : Boolean;
FRow : Integer;
FRowCount : Integer;
FRowSaved : Integer;
FScrollRowBottom : Integer;
FScrollRowTop : Integer;
FUnderLine : Boolean;
FXlatInputTable : PXlatTable;
FXlatOutputTable : PXlatTable;