Please check the sample implementation which uses System.Console
.
The IScreen
is very similar to System.Console
. If you want to write a text to specific position, you have to set the CursorLeft
and 'CursorTopfirst. If you want to write a text with specific color, you have to set
ForegroundColor` and so on. This will help to understand my answers to your questions:
1) IScreen.Write()
is the place to implement the drawing of text. If a color is changed by the server, the IScreen.SetColor()
is called first, then the IScreen.Write()
follows.
There is no support for additional cell attributes such as Underline
, Italic
, etc. To get these values, you have to use ITerminal.Screen.GetCell()
.
2) The TerminalOptions.ColorScheme
applies only to TerminalControl
. VirtualTerminal
holds the original data received from server. To handle colors, use IScreen.SetColor()
method.
3) No, please see sample project.
4) There are no attributes for reverse video nor double width/height. Reverse video is applied immediately in, so the fore and back colors of VirtualTerminal
are swapped. This is not applied in IScreen
. Double width/height are not supported and we have no plans to add support for this.
5) What do you mean by disabling 8-bit control characters exactly?