private void PushCharToTerminal(char ch) { screen.Ready = true; int width = TerminalMist.GetCharWidth(ch); if (width == 0 && ch != 0) { return; } VideoTerminalChar c; if (ch == 0) { c = new VideoTerminalChar(this); } else { c = new VideoTerminalChar(this, ch); } screen.Buffer[caret.Column, caret.Row] = c; caret.Column++; AdjustTerminalCaret(); if (width == 2) { PushCharToTerminal((char)0); } }
public VideoTerminalScreen(VideoTerminal parent) { videoterminal = parent; Buffer = new VideoTerminalChar[80, 24]; for (int i = 0; i < 80; i++) { for (int j = 0; j < 24; j++) { Buffer[i, j] = new VideoTerminalChar(videoterminal); } } }