public CConsole(Font font)
: this(Application.GetWidth(), 0.5f * Application.GetHeight())
{
this.font = font;
AllowsDrawPrevious = true;
AllowsUpdatePrevious = true;
charWidth = font.StringWidth("W");
lineHeight = font.FontHeight();
lineSpacing = 0;
backColor = new Color(0.0f, 0.0f, 0.0f, 0.75f);
carretVisible = true;
keyBindings = new Dictionary<KeyCode, char>();
keyBindings[KeyCode.OemMinus] = '-';
keyBindings[KeyCode.OemPlus] = '=';
keyBindings[KeyCode.OemComma] = ',';
keyBindings[KeyCode.OemPeriod] = '.';
keyBindings[KeyCode.OemQuestion] = '/';
keyBindings[KeyCode.OemOpenBrackets] = '[';
keyBindings[KeyCode.OemCloseBrackets] = ']';
keyBindings[KeyCode.OemQuotes] = '\\';
keyBindings[KeyCode.Divide] = '/';
keyBindings[KeyCode.Multiply] = '*';
keyBindings[KeyCode.Subtract] = '-';
keyBindings[KeyCode.Add] = '+';
keyBindings[KeyCode.OemSemicolon] = ';';
keyBindings[KeyCode.OemTilde] = '\'';
keyBindings[KeyCode.Decimal] = '.';
keyBindings[KeyCode.NumPad1] = '1';
keyBindings[KeyCode.NumPad2] = '2';
keyBindings[KeyCode.NumPad3] = '3';
keyBindings[KeyCode.NumPad4] = '4';
keyBindings[KeyCode.NumPad5] = '5';
keyBindings[KeyCode.NumPad6] = '6';
keyBindings[KeyCode.NumPad7] = '7';
keyBindings[KeyCode.NumPad8] = '8';
keyBindings[KeyCode.NumPad9] = '9';
keyBindings[KeyCode.NumPad0] = '0';
keyShiftBindings = new Dictionary<KeyCode, char>();
keyShiftBindings[KeyCode.OemMinus] = '_';
keyShiftBindings[KeyCode.OemPlus] = '+';
keyShiftBindings[KeyCode.OemComma] = '<';
keyShiftBindings[KeyCode.OemPeriod] = '>';
keyShiftBindings[KeyCode.OemQuestion] = '?';
keyShiftBindings[KeyCode.D1] = '!';
keyShiftBindings[KeyCode.D2] = '@';
keyShiftBindings[KeyCode.D3] = '#';
keyShiftBindings[KeyCode.D4] = '$';
keyShiftBindings[KeyCode.D5] = '%';
keyShiftBindings[KeyCode.D6] = '^';
keyShiftBindings[KeyCode.D7] = '&';
keyShiftBindings[KeyCode.D8] = '*';
keyShiftBindings[KeyCode.D9] = '(';
keyShiftBindings[KeyCode.D0] = ')';
keyShiftBindings[KeyCode.OemOpenBrackets] = '{';
keyShiftBindings[KeyCode.OemCloseBrackets] = '}';
keyShiftBindings[KeyCode.OemQuotes] = '|';
keyShiftBindings[KeyCode.OemSemicolon] = ':';
keyShiftBindings[KeyCode.OemTilde] = '"';
ScheduleTimer(OnBlinkTimer, 0.25f, true);
}