To help support ANSI standards more correctly:
1. ClrScr has option NOT to home cursor. Per ANSI Standard CSI 2J
clears screen but does not actually home cursor, that is reserved for
CSI H.
2. Since this is an instruction by intruction redesign, ClrScr can use
an alternative to 0x20 (#32), great for those RA looking applications.
3. Implemented ClrEop - Clear from cursor to end of screen CSI 0J.
Along with the reverse, CSI 1J.
4. ClrEol has option to clear whole line CSI 2K, standard Eol CSI K or
CSI 0K, and reverse via CSI 1K.
5. Scrolling - CSI S, scroll screen by adding blank line(s) at the
bottom. Cursor DOES NOT move. And CSI T, scroll screen by adding blank
line(s) at the top. Again Cursor DOES NOT move.
Standard Cursor Controls are implemented:
CSI H - basically a GOTO Y/X
CSI A - Cursor Up (n lines)
CSI B - Cursor Down (n lines) - does not move beyond screen ROWS
CSI C - Cursor Forward (n columns) - does not move beyond screen COLS
CSI D - Cursor Back (n colums) - does not wrap when going more the column 1
CSI E - Cursor to X=1 on next Y (n lines)
CSI F - Cursor to X=1 on previous Y (n lines)
CSI G - Cursor to X=n on current line
CSI s - Save Cursor Position
CSI r - Restore Cursor Position
CSI 6n - Return ESC[Y;XR (returns X and Y)
CSI 5i - Instead of serial printer, starts clipboard capture (text only)
CSI 4i - finishes clipboard capture (to be saved, or recalled)
* I am working on extending 4i/5i - to basically be "Save Screen" - do changes,
or drop down, etc. then "Restore Screen". Improving ANSI
support of drop down menu systems, or popup dialogs.
I finished implemented "Cursor Modifications":
Hide Cursor
Show Cursor
Cursor Size (Small Block, Full Block, I-Beam)
(*)NEW(*) Cursor Color (24bit 16 million colors)
Cursor Border Color
Cursor Border Size (in Pixel)
Blink Fast
Blink Normal
Blink Slow
No Blink
Working on Font Swapping, and Zoom in/out, then I might add scroll back support
(anyone think of a reason to need that besides long ANSI?)...
Currently testing my CP437 to UTF8 mapping - for 8bit graphics with
standard fonts... get to pointer errors for some reason, not using
pointers. So it must be in the RTL code of LCL.
Ozz
--- ExchangeBBS NNTP Server v3.1/Linux64
* Origin: (1:1/123)
|