소스 검색

Improvements to the rendering in the Windows driver

Miguel de Icaza 7 년 전
부모
커밋
f4a5fbfb15

+ 1 - 0
Makefile

@@ -2,6 +2,7 @@ all: doc-update yaml
 
 # Used to fetch XML doc updates from the C# compiler into the ECMA docs
 doc-update:
+	msbuild /p:Configuration=Release
 	mdoc update -i Terminal.Gui/bin/Release/Terminal.Gui.xml -o ecmadocs/en Terminal.Gui/bin/Release/Terminal.Gui.dll
 
 yaml:

+ 17 - 1
Terminal.Gui/Core.cs

@@ -1167,7 +1167,7 @@ namespace Terminal.Gui {
 		/// <summary>
 		/// The current Console Driver in use.
 		/// </summary>
-		public static ConsoleDriver Driver = new CursesDriver ();
+		public static ConsoleDriver Driver;
 
 		/// <summary>
 		/// The Toplevel object used for the application on startup.
@@ -1241,6 +1241,11 @@ namespace Terminal.Gui {
 			}
 		}
 
+		/// <summary>
+		/// If set, it forces the use of the System.Console-based driver.
+		/// </summary>
+		public static bool UseSystemConsole;
+
 		/// <summary>
 		/// Initializes the Application
 		/// </summary>
@@ -1249,6 +1254,17 @@ namespace Terminal.Gui {
 			if (Top != null)
 				return;
 
+			if (!UseSystemConsole) {
+				var p = Environment.OSVersion.Platform;
+				if (p == PlatformID.Win32NT || p == PlatformID.Win32S || p == PlatformID.Win32Windows)
+					UseSystemConsole = true;
+			}
+			if (UseSystemConsole){
+				Console.WriteLine ("WARNING: This version currently does not support data input yet, working on it");
+				Console.ReadLine ();
+				Driver = new NetDriver ();
+			} else
+				Driver = new CursesDriver ();
 			Driver.Init (TerminalResized);
 			MainLoop = new Mono.Terminal.MainLoop ();
 			SynchronizationContext.SetSynchronizationContext (new MainLoopSyncContext (MainLoop));

+ 215 - 158
Terminal.Gui/Driver.cs

@@ -284,12 +284,61 @@ namespace Terminal.Gui {
 		/// <param name="backgroundColorId">Background color identifier.</param>
 		public abstract void SetColors (short foregroundColorId, short backgroundColorId);
 
-		public abstract void DrawFrame (Rect region, int padding, bool fill);
-		/// <summary>
-		/// Draws a special characters in the screen
-		/// </summary>
-		/// <param name="ch">Ch.</param>
-		public abstract void AddSpecial (SpecialChar ch);
+		public virtual void DrawFrame (Rect region, int padding, bool fill)
+		{
+			int width = region.Width;
+			int height = region.Height;
+			int b;
+			int fwidth = width - padding * 2;
+			int fheight = height - 1 - padding;
+
+			Move (region.X, region.Y);
+			if (padding > 0) {
+				for (int l = 0; l < padding; l++)
+					for (b = 0; b < width; b++)
+						AddRune (' ');
+			}
+			Move (region.X, region.Y + padding);
+			for (int c = 0; c < padding; c++)
+				AddRune (' ');
+			AddRune (ULCorner);
+			for (b = 0; b < fwidth - 2; b++)
+				AddRune (HLine);
+			AddRune (URCorner);
+			for (int c = 0; c < padding; c++)
+				AddRune (' ');
+
+			for (b = 1 + padding; b < fheight; b++) {
+				Move (region.X, region.Y + b);
+				for (int c = 0; c < padding; c++)
+					AddRune (' ');
+				AddRune (VLine);
+				if (fill) {
+					for (int x = 1; x < fwidth - 1; x++)
+						AddRune (' ');
+				} else
+					Move (region.X + fwidth - 1, region.Y + b);
+				AddRune (VLine);
+				for (int c = 0; c < padding; c++)
+					AddRune (' ');
+			}
+			Move (region.X, region.Y + fheight);
+			for (int c = 0; c < padding; c++)
+				AddRune (' ');
+			AddRune (LLCorner);
+			for (b = 0; b < fwidth - 2; b++)
+				AddRune (HLine);
+			AddRune (LRCorner);
+			for (int c = 0; c < padding; c++)
+				AddRune (' ');
+			if (padding > 0) {
+				Move (region.X, region.Y + height - padding);
+				for (int l = 0; l < padding; l++)
+					for (b = 0; b < width; b++)
+						AddRune (' ');
+			}			
+		}
+
 
 		/// <summary>
 		/// Suspend the application, typically needs to save the state, suspend the app and upon return, reset the console driver.
@@ -319,6 +368,66 @@ namespace Terminal.Gui {
 		/// Enables the cooked event processing from the mouse driver
 		/// </summary>
 		public abstract void CookMouse ();
+
+		/// <summary>
+		/// Horizontal line character.
+		/// </summary>
+		public Rune HLine;
+
+		/// <summary>
+		/// Vertical line character.
+		/// </summary>
+		public Rune VLine;
+
+		/// <summary>
+		/// Stipple pattern
+		/// </summary>
+		public Rune Stipple;
+
+		/// <summary>
+		/// Diamond character
+		/// </summary>
+		public Rune Diamond;
+
+		/// <summary>
+		/// Upper left corner
+		/// </summary>
+		public Rune ULCorner;
+
+		/// <summary>
+		/// Lower left corner
+		/// </summary>
+		public Rune LLCorner;
+
+		/// <summary>
+		/// Upper right corner
+		/// </summary>
+		public Rune URCorner;
+
+		/// <summary>
+		/// Lower right corner
+		/// </summary>
+		public Rune LRCorner;
+
+		/// <summary>
+		/// Left tee
+		/// </summary>
+		public Rune LeftTee;
+
+		/// <summary>
+		/// Right tee
+		/// </summary>
+		public Rune RightTee;
+
+		/// <summary>
+		/// Top tee 
+		/// </summary>
+		public Rune TopTee;
+
+		/// <summary>
+		/// The bottom tee.
+		/// </summary>
+		public Rune BottomTee;
 	}
 
 	/// <summary>
@@ -347,7 +456,7 @@ namespace Terminal.Gui {
 			}
 		}
 
-		static bool sync = false;
+		static bool sync;
 		public override void AddRune (Rune rune)
 		{
 			if (Clip.Contains (ccol, crow)) {
@@ -363,48 +472,6 @@ namespace Terminal.Gui {
 			ccol++;
 		}
 
-		public override void AddSpecial (SpecialChar ch)
-		{
-			switch (ch) {
-			case SpecialChar.HLine:
-				AddRune(Curses.ACS_HLINE);
-				break;
-			case SpecialChar.VLine:
-				AddRune(Curses.ACS_VLINE);
-				break;
-			case SpecialChar.Stipple:
-				AddRune(Curses.ACS_CKBOARD);
-				break;
-			case SpecialChar.Diamond:
-				AddRune(Curses.ACS_DIAMOND);
-				break;
-			case SpecialChar.ULCorner:
-				AddRune (Curses.ACS_ULCORNER);
-				break;
-			case SpecialChar.LLCorner:
-				AddRune (Curses.ACS_LLCORNER);
-				break;
-			case SpecialChar.URCorner:
-				AddRune (Curses.ACS_URCORNER);
-				break;
-			case SpecialChar.LRCorner:
-				AddRune (Curses.ACS_LRCORNER);
-				break;
-			case SpecialChar.LeftTee:
-				AddRune (Curses.ACS_LTEE);
-				break;
-			case SpecialChar.RightTee:
-				AddRune (Curses.ACS_RTEE);
-				break;
-			case SpecialChar.TopTee:
-				AddRune (Curses.ACS_TTEE);
-				break;
-			case SpecialChar.BottomTee:
-				AddRune (Curses.ACS_BTEE);
-				break;
-			}
-		}
-
 		public override void AddStr (ustring str)
 		{
 			// TODO; optimize this to determine if the str fits in the clip region, and if so, use Curses.addstr directly
@@ -549,61 +616,6 @@ namespace Terminal.Gui {
 
 		}
 
-		public override void DrawFrame (Rect region, int padding, bool fill)
-		{
-			int width = region.Width;
-			int height = region.Height;
-			int b;
-			int fwidth = width - padding * 2;
-			int fheight = height - 1 - padding;
-
-			Move (region.X, region.Y);
-			if (padding > 0) {
-				for (int l = 0; l < padding; l++)
-					for (b = 0; b < width; b++)
-						AddRune (' ');
-			}
-			Move (region.X, region.Y + padding);
-			for (int c = 0; c < padding; c++)
-				AddRune (' ');
-			AddRune (Curses.ACS_ULCORNER);
-			for (b = 0; b < fwidth - 2; b++)
-				AddRune (Curses.ACS_HLINE);
-			AddRune (Curses.ACS_URCORNER);
-			for (int c = 0; c < padding; c++)
-				AddRune (' ');
-				
-			for (b = 1+padding; b < fheight; b++) {
-				Move (region.X, region.Y + b);
-				for (int c = 0; c < padding; c++)
-					AddRune (' ');
-				AddRune (Curses.ACS_VLINE);
-				if (fill) {	
-					for (int x = 1; x < fwidth - 1; x++)
-						AddRune (' ');
-				} else
-					Move (region.X + fwidth - 1, region.Y + b);
-				AddRune (Curses.ACS_VLINE);
-				for (int c = 0; c < padding; c++)
-					AddRune (' ');
-			}
-			Move (region.X, region.Y + fheight);
-			for (int c = 0; c < padding; c++)
-				AddRune (' ');
-			AddRune (Curses.ACS_LLCORNER);
-			for (b = 0; b < fwidth - 2; b++)
-				AddRune (Curses.ACS_HLINE);
-			AddRune (Curses.ACS_LRCORNER);
-			for (int c = 0; c < padding; c++)
-				AddRune (' ');
-			if (padding > 0) {
-				Move (region.X, region.Y + height - padding);
-				for (int l = 0; l < padding; l++)
-					for (b = 0; b < width; b++)
-						AddRune (' ');
-			}
-		}
-
 		Curses.Event oldMouseEvents, reportableMouseEvents;
 		public override void Init (Action terminalResized)
 		{
@@ -623,6 +635,19 @@ namespace Terminal.Gui {
 			this.terminalResized = terminalResized;
 			StartReportingMouseMoves ();
 
+			HLine = Curses.ACS_HLINE;
+			VLine = Curses.ACS_VLINE;
+			Stipple = Curses.ACS_CKBOARD;
+			Diamond = Curses.ACS_DIAMOND;
+			ULCorner = Curses.ACS_ULCORNER;
+			LLCorner = Curses.ACS_LLCORNER;
+			URCorner = Curses.ACS_URCORNER;
+			LRCorner = Curses.ACS_LRCORNER;
+			LeftTee = Curses.ACS_LTEE;
+			RightTee = Curses.ACS_RTEE;
+			TopTee = Curses.ACS_TTEE;
+			BottomTee = Curses.ACS_BTEE;
+
 			Colors.Base = new ColorScheme ();
 			Colors.Dialog = new ColorScheme ();
 			Colors.Menu = new ColorScheme ();
@@ -780,24 +805,20 @@ namespace Terminal.Gui {
 		public override int Cols => Console.WindowWidth;
 		public override int Rows => Console.WindowHeight;
 
+		// The format is rows, columns and 3 values on the last column: Rune, Attribute and Dirty Flag
 		int [,,] contents;
 		bool [] dirtyLine;
 
-		static int MakeColor (int fg, int bg)
-		{
-			return (fg << 16) | bg;
-		}
-
 		void UpdateOffscreen ()
 		{
 			int cols = Cols;
 			int rows = Rows;
 
-			contents = new int [cols, rows, 3];
+			contents = new int [rows, cols, 3];
 			for (int r = 0; r < rows; r++) {
 				for (int c = 0; c < cols; c++) {
 					contents [r, c, 0] = ' ';
-					contents [r, c, 1] = MakeColor (7, 0);
+					contents [r, c, 1] = MakeColor (ConsoleColor.Gray, ConsoleColor.Black);
 					contents [r, c, 2] = 0;
 				}
 			}
@@ -806,6 +827,8 @@ namespace Terminal.Gui {
 				dirtyLine [row] = true;
 		}
 
+		static bool sync;
+
 		public NetDriver ()
 		{
 			UpdateOffscreen ();
@@ -823,6 +846,7 @@ namespace Terminal.Gui {
 		{
 			if (Clip.Contains (ccol, crow)) {
 				contents [crow, ccol, 0] = (int) (uint) rune;
+				contents [crow, ccol, 1] = currentAttribute;
 				contents [crow, ccol, 2] = 1;
 			}
 			ccol++;
@@ -831,11 +855,8 @@ namespace Terminal.Gui {
 				if (crow + 1 < Rows)
 					crow++;
 			}
-		}
-
-		public override void AddSpecial (SpecialChar ch)
-		{
-			AddRune ('*');
+			if (sync)
+				RedrawTop ();
 		}
 
 		public override void AddStr (ustring str)
@@ -844,45 +865,74 @@ namespace Terminal.Gui {
 				AddRune (rune);
 		}
 
-		public override void DrawFrame(Rect region, int padding, bool fill)
+		public override void End ()
 		{
-			int width = region.Width;
-			int height = region.Height;
-			int b;
 
-			Move (region.X, region.Y);
-			AddRune ('+');
-			for (b = 0; b < width - 2; b++)
-				AddRune ('-');
-			AddRune ('+');
-			for (b = 1; b < height - 1; b++) {
-				Move (region.X, region.Y + b);
-				AddRune ('|');
-				if (fill) {
-					for (int x = 1; x < width - 1; x++)
-						AddRune (' ');
-				} else
-					Move (region.X + width - 1, region.Y + b);
-				AddRune ('|');
-			}
-			Move (region.X, region.Y + height - 1);
-			AddRune ('+');
-			for (b = 0; b < width - 2; b++)
-				AddRune ('-');
-			AddRune ('+');
 		}
 
-		public override void End()
+		static Attribute MakeColor (ConsoleColor f, ConsoleColor b)
 		{
-			
+			// Encode the colors into the int value.
+			return new Attribute () { value = ((((int)f) & 0xffff) << 16) | (((int)b) & 0xffff) };
 		}
 
-		public override void Init(Action terminalResized)
+
+		public override void Init (Action terminalResized)
 		{
+			Colors.Base = new ColorScheme ();
+			Colors.Dialog = new ColorScheme ();
+			Colors.Menu = new ColorScheme ();
+			Colors.Error = new ColorScheme ();
+			Clip = new Rect (0, 0, Cols, Rows);
+
+			HLine =  '\u2500';
+			VLine =  '\u2502';
+			Stipple =  '\u2592';
+			Diamond =  '\u25c6';
+			ULCorner =  '\u250C';
+			LLCorner =  '\u2514';
+			URCorner =  '\u2510';
+			LRCorner =  '\u2518';
+			LeftTee =  '\u251c';
+			RightTee =  '\u2524';
+			TopTee =  '\u22a4';
+			BottomTee =  '\u22a5';
 			
+			Colors.Base.Normal = MakeColor (ConsoleColor.White, ConsoleColor.Blue);
+			Colors.Base.Focus = MakeColor (ConsoleColor.Black, ConsoleColor.Cyan);
+			Colors.Base.HotNormal = MakeColor (ConsoleColor.Yellow, ConsoleColor.Blue);
+			Colors.Base.HotFocus = MakeColor (ConsoleColor.Yellow, ConsoleColor.Cyan);
+
+			// Focused, 
+			//    Selected, Hot: Yellow on Black
+			//    Selected, text: white on black
+			//    Unselected, hot: yellow on cyan
+			//    unselected, text: same as unfocused
+			Colors.Menu.HotFocus = MakeColor (ConsoleColor.Yellow, ConsoleColor.Black);
+			Colors.Menu.Focus = MakeColor (ConsoleColor.White, ConsoleColor.Black);
+			Colors.Menu.HotNormal = MakeColor (ConsoleColor.Yellow, ConsoleColor.Cyan);
+			Colors.Menu.Normal = MakeColor (ConsoleColor.White, ConsoleColor.Cyan);
+
+			Colors.Dialog.Normal = MakeColor (ConsoleColor.Black, ConsoleColor.Gray);
+			Colors.Dialog.Focus = MakeColor (ConsoleColor.Black, ConsoleColor.Cyan);
+			Colors.Dialog.HotNormal = MakeColor (ConsoleColor.Blue, ConsoleColor.Gray);
+			Colors.Dialog.HotFocus = MakeColor (ConsoleColor.Blue, ConsoleColor.Cyan);
+
+			Colors.Error.Normal = MakeColor (ConsoleColor.White, ConsoleColor.Red);
+			Colors.Error.Focus = MakeColor (ConsoleColor.Black, ConsoleColor.Gray);
+			Colors.Error.HotNormal = MakeColor (ConsoleColor.Yellow, ConsoleColor.Red);
+			Colors.Error.HotFocus = Colors.Error.HotNormal;
+		}
+
+		int redrawColor = -1;
+		void SetColor (int color)
+		{
+			redrawColor = color;
+			Console.BackgroundColor = (ConsoleColor)(color & 0xffff);
+			Console.ForegroundColor = (ConsoleColor)((color >> 16) & 0xffff);
 		}
 
-		public override void RedrawTop()
+		public override void RedrawTop ()
 		{
 			int rows = Rows;
 			int cols = Cols;
@@ -893,12 +943,15 @@ namespace Terminal.Gui {
 				dirtyLine [row] = false;
 				for (int col = 0; col < cols; col++) {
 					contents [row, col, 2] = 0;
+					var color = contents [row, col, 1];
+					if (color != redrawColor)
+						SetColor (color);
 					Console.Write ((char)contents [row, col, 0]);
 				}
 			}
 		}
 
-		public override void Refresh()
+		public override void Refresh ()
 		{
 			int rows = Rows;
 			int cols = Cols;
@@ -910,10 +963,14 @@ namespace Terminal.Gui {
 				for (int col = 0; col < cols; col++) {
 					if (contents [row, col, 2] != 1)
 						continue;
-					
+
 					Console.CursorTop = row;
 					Console.CursorLeft = col;
 					for (; col < cols && contents [row, col, 2] == 1; col++) {
+						var color = contents [row, col, 1];
+						if (color != redrawColor)
+							SetColor (color);
+
 						Console.Write ((char)contents [row, col, 0]);
 						contents [row, col, 2] = 0;
 					}
@@ -925,39 +982,39 @@ namespace Terminal.Gui {
 		{
 		}
 
-		public override void StopReportingMouseMoves()
+		public override void StopReportingMouseMoves ()
 		{
 		}
 
-		public override void Suspend()
+		public override void Suspend ()
 		{
 		}
 
-		public override void SetAttribute(Attribute c)
+		int currentAttribute;
+		public override void SetAttribute (Attribute c)
 		{
-			throw new NotImplementedException();
+			currentAttribute = c.value;
 		}
 
-		public override void PrepareToRun(MainLoop mainLoop, Action<KeyEvent> target, Action<MouseEvent> mouse)
+		public override void PrepareToRun (MainLoop mainLoop, Action<KeyEvent> target, Action<MouseEvent> mouse)
 		{
-			throw new NotImplementedException();
 		}
 
-		public override void SetColors(ConsoleColor foreground, ConsoleColor background)
+		public override void SetColors (ConsoleColor foreground, ConsoleColor background)
 		{
-			throw new NotImplementedException();
+			throw new NotImplementedException ();
 		}
 
-		public override void SetColors(short foregroundColorId, short backgroundColorId)
+		public override void SetColors (short foregroundColorId, short backgroundColorId)
 		{
-			throw new NotImplementedException();
+			throw new NotImplementedException ();
 		}
 
-		public override void CookMouse()
+		public override void CookMouse ()
 		{
 		}
 
-		public override void UncookMouse()
+		public override void UncookMouse ()
 		{
 		}
 	}

+ 1 - 1
Terminal.Gui/Views/Menu.cs

@@ -152,7 +152,7 @@ namespace Terminal.Gui {
 				Driver.SetAttribute (item == null ? Colors.Base.Focus : i == current ? ColorScheme.Focus : ColorScheme.Normal);
 				for (int p = 0; p < Frame.Width-2; p++)
 					if (item == null)
-						Driver.AddSpecial (SpecialChar.HLine);
+						Driver.AddRune (Driver.HLine);
 					else
 						Driver.AddRune (' ');
 

+ 2 - 2
Terminal.Gui/Views/ProgressBar.cs

@@ -81,7 +81,7 @@ namespace Terminal.Gui {
 				Move (0, 0);
 				for (int i = 0; i < top; i++)
 					if (i == activityPos)
-						Driver.AddSpecial (SpecialChar.Stipple);
+						Driver.AddRune (Driver.Stipple);
 					else
 						Driver.AddRune (' ');
 			} else {
@@ -89,7 +89,7 @@ namespace Terminal.Gui {
 				int mid = (int)(fraction * top);
 				int i;
 				for (i = 0; i < mid; i++)
-					Driver.AddSpecial (SpecialChar.Stipple);
+					Driver.AddRune (Driver.Stipple);
 				for (; i < top; i++)
 					Driver.AddRune (' ');
 			}

+ 20 - 20
Terminal.Gui/Views/ScrollView.cs

@@ -95,7 +95,7 @@ namespace Terminal.Gui {
 
 				var col = Bounds.Width - 1;
 				var bh = Bounds.Height;
-				SpecialChar special;
+				Rune special;
 
 				if (bh < 4) {
 					var by1 = position * bh / Size;
@@ -104,10 +104,10 @@ namespace Terminal.Gui {
 					for (int y = 0; y < bh; y++) {
 						Move (col, y);
 						if (y < by1 || y > by2)
-							special = SpecialChar.Stipple;
+							special = Driver.Stipple;
 						else
-							special = SpecialChar.Diamond;
-						Driver.AddSpecial (special);
+							special = Driver.Diamond;
+						Driver.AddRune(special);
 					}
 				} else {
 					bh -= 2;
@@ -123,20 +123,20 @@ namespace Terminal.Gui {
 						Move (col, y+1);
 
 						if (y < by1 || y > by2)
-							special = SpecialChar.Stipple;
+							special = Driver.Stipple;
 						else {
 							if (by2 - by1 == 0)
-								special = SpecialChar.Diamond;
+								special = Driver.Diamond;
 							else {
 								if (y == by1)
-									special = SpecialChar.TopTee;
+									special = Driver.TopTee;
 								else if (y == by2)
-									special = SpecialChar.BottomTee;
+									special = Driver.BottomTee;
 								else
-									special = SpecialChar.VLine;
+									special = Driver.VLine;
 							}
 						}
-						Driver.AddSpecial (special);
+						Driver.AddRune (special);
 					}
 				}
 			} else {
@@ -145,7 +145,7 @@ namespace Terminal.Gui {
 
 				var row = Bounds.Height - 1;
 				var bw = Bounds.Width;
-				SpecialChar special;
+				Rune special;
 
 				if (bw < 4) {
 					var bx1 = position * bw / Size;
@@ -154,10 +154,10 @@ namespace Terminal.Gui {
 					for (int x = 0; x < bw; x++) {
 						Move (0, x);
 						if (x < bx1 || x > bx2)
-							special = SpecialChar.Stipple;
+							special = Driver.Stipple;
 						else
-							special = SpecialChar.Diamond;
-						Driver.AddSpecial (special);
+							special = Driver.Diamond;
+						Driver.AddRune (special);
 					}
 				} else {
 					bw -= 2;
@@ -170,20 +170,20 @@ namespace Terminal.Gui {
 					for (int x = 0; x < bw; x++) {
 
 						if (x < bx1 || x > bx2) {
-							special = SpecialChar.Stipple;
+							special = Driver.Stipple;
 						} else {
 							if (bx2 - bx1 == 0)
-								special = SpecialChar.Diamond;
+								special = Driver.Diamond;
 							else {
 								if (x == bx1)
-									special = SpecialChar.LeftTee;
+									special = Driver.LeftTee;
 								else if (x == bx2)
-									special = SpecialChar.RightTee;
+									special = Driver.RightTee;
 								else
-									special = SpecialChar.HLine;
+									special = Driver.HLine;
 							}
 						}
-						Driver.AddSpecial (special);
+						Driver.AddRune (special);
 					}
 					Driver.AddRune ('>');
 				}

+ 1 - 0
demo.cs

@@ -148,6 +148,7 @@ class Demo {
 	public static Label ml;
 	static void Main ()
 	{
+		//Application.UseSystemConsole = true;
 		Application.Init ();
 
 		var top = Application.Top;

+ 26 - 0
docfx/api/Terminal.Gui/Terminal.Gui.Application.yml

@@ -21,6 +21,7 @@ items:
   - Terminal.Gui.Application.RunLoop(Terminal.Gui.Application.RunState,System.Boolean)
   - Terminal.Gui.Application.Top
   - Terminal.Gui.Application.UngrabMouse
+  - Terminal.Gui.Application.UseSystemConsole
   langs:
   - csharp
   name: Application
@@ -411,6 +412,25 @@ items:
     parameters: []
   overload: Terminal.Gui.Application.UngrabMouse*
   exceptions: []
+- uid: Terminal.Gui.Application.UseSystemConsole
+  id: UseSystemConsole
+  parent: Terminal.Gui.Application
+  langs:
+  - csharp
+  name: UseSystemConsole
+  nameWithType: Application.UseSystemConsole
+  fullName: Application.UseSystemConsole
+  type: Field
+  assemblies:
+  - Terminal.Gui
+  namespace: Terminal.Gui
+  summary: If set, it forces the use of the System.Console-based driver.
+  syntax:
+    content: public static bool UseSystemConsole;
+    return:
+      type: System.Boolean
+      description: To be added.
+  exceptions: []
 references:
 - uid: System.Object
   parent: System
@@ -609,6 +629,12 @@ references:
   name: UngrabMouse()
   nameWithType: Application.UngrabMouse()
   fullName: Application.UngrabMouse()
+- uid: Terminal.Gui.Application.UseSystemConsole
+  parent: Terminal.Gui.Application
+  isExternal: false
+  name: UseSystemConsole
+  nameWithType: Application.UseSystemConsole
+  fullName: Application.UseSystemConsole
 - uid: Terminal.Gui.Application.#ctor*
   parent: Terminal.Gui.Application
   isExternal: false

+ 412 - 39
docfx/api/Terminal.Gui/Terminal.Gui.ConsoleDriver.yml

@@ -9,22 +9,36 @@ items:
   - Terminal.Gui.ConsoleDriver.AddSpecial(Terminal.Gui.SpecialChar)
   - Terminal.Gui.ConsoleDriver.AddStr(NStack.ustring)
   - Terminal.Gui.ConsoleDriver.AddStr(System.String)
+  - Terminal.Gui.ConsoleDriver.BottomTee
   - Terminal.Gui.ConsoleDriver.Clip
   - Terminal.Gui.ConsoleDriver.Cols
+  - Terminal.Gui.ConsoleDriver.CookMouse
+  - Terminal.Gui.ConsoleDriver.Diamond
   - Terminal.Gui.ConsoleDriver.DrawFrame(Terminal.Gui.Rect,System.Int32,System.Boolean)
   - Terminal.Gui.ConsoleDriver.End
+  - Terminal.Gui.ConsoleDriver.HLine
   - Terminal.Gui.ConsoleDriver.Init(System.Action)
+  - Terminal.Gui.ConsoleDriver.LeftTee
+  - Terminal.Gui.ConsoleDriver.LLCorner
+  - Terminal.Gui.ConsoleDriver.LRCorner
   - Terminal.Gui.ConsoleDriver.Move(System.Int32,System.Int32)
   - Terminal.Gui.ConsoleDriver.PrepareToRun(Mono.Terminal.MainLoop,System.Action{Terminal.Gui.KeyEvent},System.Action{Terminal.Gui.MouseEvent})
   - Terminal.Gui.ConsoleDriver.RedrawTop
   - Terminal.Gui.ConsoleDriver.Refresh
+  - Terminal.Gui.ConsoleDriver.RightTee
   - Terminal.Gui.ConsoleDriver.Rows
   - Terminal.Gui.ConsoleDriver.SetAttribute(Terminal.Gui.Attribute)
-  - Terminal.Gui.ConsoleDriver.SetColors(System.ConsoleColor,System.ConsoleColor)
   - Terminal.Gui.ConsoleDriver.SetColors(System.Int16,System.Int16)
+  - Terminal.Gui.ConsoleDriver.SetColors(System.ConsoleColor,System.ConsoleColor)
   - Terminal.Gui.ConsoleDriver.StartReportingMouseMoves
+  - Terminal.Gui.ConsoleDriver.Stipple
   - Terminal.Gui.ConsoleDriver.StopReportingMouseMoves
   - Terminal.Gui.ConsoleDriver.Suspend
+  - Terminal.Gui.ConsoleDriver.TopTee
+  - Terminal.Gui.ConsoleDriver.ULCorner
+  - Terminal.Gui.ConsoleDriver.UncookMouse
+  - Terminal.Gui.ConsoleDriver.URCorner
+  - Terminal.Gui.ConsoleDriver.VLine
   langs:
   - csharp
   name: ConsoleDriver
@@ -108,8 +122,7 @@ items:
   nameWithType: ConsoleDriver.AddSpecial(SpecialChar)
   fullName: ConsoleDriver.AddSpecial(SpecialChar)
   type: Method
-  assemblies:
-  - Terminal.Gui
+  assemblies: []
   namespace: Terminal.Gui
   summary: Draws a special characters in the screen
   syntax:
@@ -161,6 +174,25 @@ items:
       description: String.
   overload: Terminal.Gui.ConsoleDriver.AddStr*
   exceptions: []
+- uid: Terminal.Gui.ConsoleDriver.BottomTee
+  id: BottomTee
+  parent: Terminal.Gui.ConsoleDriver
+  langs:
+  - csharp
+  name: BottomTee
+  nameWithType: ConsoleDriver.BottomTee
+  fullName: ConsoleDriver.BottomTee
+  type: Field
+  assemblies:
+  - Terminal.Gui
+  namespace: Terminal.Gui
+  summary: The bottom tee.
+  syntax:
+    content: public Rune BottomTee;
+    return:
+      type: System.Rune
+      description: To be added.
+  exceptions: []
 - uid: Terminal.Gui.ConsoleDriver.Clip
   id: Clip
   parent: Terminal.Gui.ConsoleDriver
@@ -201,6 +233,43 @@ items:
       description: To be added.
   overload: Terminal.Gui.ConsoleDriver.Cols*
   exceptions: []
+- uid: Terminal.Gui.ConsoleDriver.CookMouse
+  id: CookMouse
+  parent: Terminal.Gui.ConsoleDriver
+  langs:
+  - csharp
+  name: CookMouse()
+  nameWithType: ConsoleDriver.CookMouse()
+  fullName: ConsoleDriver.CookMouse()
+  type: Method
+  assemblies:
+  - Terminal.Gui
+  namespace: Terminal.Gui
+  summary: Enables the cooked event processing from the mouse driver
+  syntax:
+    content: public abstract void CookMouse ();
+    parameters: []
+  overload: Terminal.Gui.ConsoleDriver.CookMouse*
+  exceptions: []
+- uid: Terminal.Gui.ConsoleDriver.Diamond
+  id: Diamond
+  parent: Terminal.Gui.ConsoleDriver
+  langs:
+  - csharp
+  name: Diamond
+  nameWithType: ConsoleDriver.Diamond
+  fullName: ConsoleDriver.Diamond
+  type: Field
+  assemblies:
+  - Terminal.Gui
+  namespace: Terminal.Gui
+  summary: Diamond character
+  syntax:
+    content: public Rune Diamond;
+    return:
+      type: System.Rune
+      description: To be added.
+  exceptions: []
 - uid: Terminal.Gui.ConsoleDriver.DrawFrame(Terminal.Gui.Rect,System.Int32,System.Boolean)
   id: DrawFrame(Terminal.Gui.Rect,System.Int32,System.Boolean)
   parent: Terminal.Gui.ConsoleDriver
@@ -214,7 +283,7 @@ items:
   - Terminal.Gui
   namespace: Terminal.Gui
   syntax:
-    content: public abstract void DrawFrame (Terminal.Gui.Rect region, int padding, bool fill);
+    content: public virtual void DrawFrame (Terminal.Gui.Rect region, int padding, bool fill);
     parameters:
     - id: region
       type: Terminal.Gui.Rect
@@ -245,6 +314,25 @@ items:
     parameters: []
   overload: Terminal.Gui.ConsoleDriver.End*
   exceptions: []
+- uid: Terminal.Gui.ConsoleDriver.HLine
+  id: HLine
+  parent: Terminal.Gui.ConsoleDriver
+  langs:
+  - csharp
+  name: HLine
+  nameWithType: ConsoleDriver.HLine
+  fullName: ConsoleDriver.HLine
+  type: Field
+  assemblies:
+  - Terminal.Gui
+  namespace: Terminal.Gui
+  summary: Horizontal line character.
+  syntax:
+    content: public Rune HLine;
+    return:
+      type: System.Rune
+      description: To be added.
+  exceptions: []
 - uid: Terminal.Gui.ConsoleDriver.Init(System.Action)
   id: Init(System.Action)
   parent: Terminal.Gui.ConsoleDriver
@@ -266,6 +354,63 @@ items:
       description: Method to invoke when the terminal is resized.
   overload: Terminal.Gui.ConsoleDriver.Init*
   exceptions: []
+- uid: Terminal.Gui.ConsoleDriver.LeftTee
+  id: LeftTee
+  parent: Terminal.Gui.ConsoleDriver
+  langs:
+  - csharp
+  name: LeftTee
+  nameWithType: ConsoleDriver.LeftTee
+  fullName: ConsoleDriver.LeftTee
+  type: Field
+  assemblies:
+  - Terminal.Gui
+  namespace: Terminal.Gui
+  summary: Left tee
+  syntax:
+    content: public Rune LeftTee;
+    return:
+      type: System.Rune
+      description: To be added.
+  exceptions: []
+- uid: Terminal.Gui.ConsoleDriver.LLCorner
+  id: LLCorner
+  parent: Terminal.Gui.ConsoleDriver
+  langs:
+  - csharp
+  name: LLCorner
+  nameWithType: ConsoleDriver.LLCorner
+  fullName: ConsoleDriver.LLCorner
+  type: Field
+  assemblies:
+  - Terminal.Gui
+  namespace: Terminal.Gui
+  summary: Lower left corner
+  syntax:
+    content: public Rune LLCorner;
+    return:
+      type: System.Rune
+      description: To be added.
+  exceptions: []
+- uid: Terminal.Gui.ConsoleDriver.LRCorner
+  id: LRCorner
+  parent: Terminal.Gui.ConsoleDriver
+  langs:
+  - csharp
+  name: LRCorner
+  nameWithType: ConsoleDriver.LRCorner
+  fullName: ConsoleDriver.LRCorner
+  type: Field
+  assemblies:
+  - Terminal.Gui
+  namespace: Terminal.Gui
+  summary: Lower right corner
+  syntax:
+    content: public Rune LRCorner;
+    return:
+      type: System.Rune
+      description: To be added.
+  exceptions: []
 - uid: Terminal.Gui.ConsoleDriver.Move(System.Int32,System.Int32)
   id: Move(System.Int32,System.Int32)
   parent: Terminal.Gui.ConsoleDriver
@@ -351,6 +496,25 @@ items:
     parameters: []
   overload: Terminal.Gui.ConsoleDriver.Refresh*
   exceptions: []
+- uid: Terminal.Gui.ConsoleDriver.RightTee
+  id: RightTee
+  parent: Terminal.Gui.ConsoleDriver
+  langs:
+  - csharp
+  name: RightTee
+  nameWithType: ConsoleDriver.RightTee
+  fullName: ConsoleDriver.RightTee
+  type: Field
+  assemblies:
+  - Terminal.Gui
+  namespace: Terminal.Gui
+  summary: Right tee
+  syntax:
+    content: public Rune RightTee;
+    return:
+      type: System.Rune
+      description: To be added.
+  exceptions: []
 - uid: Terminal.Gui.ConsoleDriver.Rows
   id: Rows
   parent: Terminal.Gui.ConsoleDriver
@@ -391,29 +555,6 @@ items:
       description: To be added.
   overload: Terminal.Gui.ConsoleDriver.SetAttribute*
   exceptions: []
-- uid: Terminal.Gui.ConsoleDriver.SetColors(System.ConsoleColor,System.ConsoleColor)
-  id: SetColors(System.ConsoleColor,System.ConsoleColor)
-  parent: Terminal.Gui.ConsoleDriver
-  langs:
-  - csharp
-  name: SetColors(ConsoleColor, ConsoleColor)
-  nameWithType: ConsoleDriver.SetColors(ConsoleColor, ConsoleColor)
-  fullName: ConsoleDriver.SetColors(ConsoleColor, ConsoleColor)
-  type: Method
-  assemblies:
-  - Terminal.Gui
-  namespace: Terminal.Gui
-  syntax:
-    content: public abstract void SetColors (ConsoleColor foreground, ConsoleColor background);
-    parameters:
-    - id: foreground
-      type: System.ConsoleColor
-      description: To be added.
-    - id: background
-      type: System.ConsoleColor
-      description: To be added.
-  overload: Terminal.Gui.ConsoleDriver.SetColors*
-  exceptions: []
 - uid: Terminal.Gui.ConsoleDriver.SetColors(System.Int16,System.Int16)
   id: SetColors(System.Int16,System.Int16)
   parent: Terminal.Gui.ConsoleDriver
@@ -438,6 +579,29 @@ items:
       description: Background color identifier.
   overload: Terminal.Gui.ConsoleDriver.SetColors*
   exceptions: []
+- uid: Terminal.Gui.ConsoleDriver.SetColors(System.ConsoleColor,System.ConsoleColor)
+  id: SetColors(System.ConsoleColor,System.ConsoleColor)
+  parent: Terminal.Gui.ConsoleDriver
+  langs:
+  - csharp
+  name: SetColors(ConsoleColor, ConsoleColor)
+  nameWithType: ConsoleDriver.SetColors(ConsoleColor, ConsoleColor)
+  fullName: ConsoleDriver.SetColors(ConsoleColor, ConsoleColor)
+  type: Method
+  assemblies:
+  - Terminal.Gui
+  namespace: Terminal.Gui
+  syntax:
+    content: public abstract void SetColors (ConsoleColor foreground, ConsoleColor background);
+    parameters:
+    - id: foreground
+      type: System.ConsoleColor
+      description: To be added.
+    - id: background
+      type: System.ConsoleColor
+      description: To be added.
+  overload: Terminal.Gui.ConsoleDriver.SetColors*
+  exceptions: []
 - uid: Terminal.Gui.ConsoleDriver.StartReportingMouseMoves
   id: StartReportingMouseMoves
   parent: Terminal.Gui.ConsoleDriver
@@ -455,6 +619,25 @@ items:
     parameters: []
   overload: Terminal.Gui.ConsoleDriver.StartReportingMouseMoves*
   exceptions: []
+- uid: Terminal.Gui.ConsoleDriver.Stipple
+  id: Stipple
+  parent: Terminal.Gui.ConsoleDriver
+  langs:
+  - csharp
+  name: Stipple
+  nameWithType: ConsoleDriver.Stipple
+  fullName: ConsoleDriver.Stipple
+  type: Field
+  assemblies:
+  - Terminal.Gui
+  namespace: Terminal.Gui
+  summary: Stipple pattern
+  syntax:
+    content: public Rune Stipple;
+    return:
+      type: System.Rune
+      description: To be added.
+  exceptions: []
 - uid: Terminal.Gui.ConsoleDriver.StopReportingMouseMoves
   id: StopReportingMouseMoves
   parent: Terminal.Gui.ConsoleDriver
@@ -490,6 +673,100 @@ items:
     parameters: []
   overload: Terminal.Gui.ConsoleDriver.Suspend*
   exceptions: []
+- uid: Terminal.Gui.ConsoleDriver.TopTee
+  id: TopTee
+  parent: Terminal.Gui.ConsoleDriver
+  langs:
+  - csharp
+  name: TopTee
+  nameWithType: ConsoleDriver.TopTee
+  fullName: ConsoleDriver.TopTee
+  type: Field
+  assemblies:
+  - Terminal.Gui
+  namespace: Terminal.Gui
+  summary: Top tee
+  syntax:
+    content: public Rune TopTee;
+    return:
+      type: System.Rune
+      description: To be added.
+  exceptions: []
+- uid: Terminal.Gui.ConsoleDriver.ULCorner
+  id: ULCorner
+  parent: Terminal.Gui.ConsoleDriver
+  langs:
+  - csharp
+  name: ULCorner
+  nameWithType: ConsoleDriver.ULCorner
+  fullName: ConsoleDriver.ULCorner
+  type: Field
+  assemblies:
+  - Terminal.Gui
+  namespace: Terminal.Gui
+  summary: Upper left corner
+  syntax:
+    content: public Rune ULCorner;
+    return:
+      type: System.Rune
+      description: To be added.
+  exceptions: []
+- uid: Terminal.Gui.ConsoleDriver.UncookMouse
+  id: UncookMouse
+  parent: Terminal.Gui.ConsoleDriver
+  langs:
+  - csharp
+  name: UncookMouse()
+  nameWithType: ConsoleDriver.UncookMouse()
+  fullName: ConsoleDriver.UncookMouse()
+  type: Method
+  assemblies:
+  - Terminal.Gui
+  namespace: Terminal.Gui
+  summary: Disables the cooked event processing from the mouse driver.  At startup, it is assumed mouse events are cooked.
+  syntax:
+    content: public abstract void UncookMouse ();
+    parameters: []
+  overload: Terminal.Gui.ConsoleDriver.UncookMouse*
+  exceptions: []
+- uid: Terminal.Gui.ConsoleDriver.URCorner
+  id: URCorner
+  parent: Terminal.Gui.ConsoleDriver
+  langs:
+  - csharp
+  name: URCorner
+  nameWithType: ConsoleDriver.URCorner
+  fullName: ConsoleDriver.URCorner
+  type: Field
+  assemblies:
+  - Terminal.Gui
+  namespace: Terminal.Gui
+  summary: Upper right corner
+  syntax:
+    content: public Rune URCorner;
+    return:
+      type: System.Rune
+      description: To be added.
+  exceptions: []
+- uid: Terminal.Gui.ConsoleDriver.VLine
+  id: VLine
+  parent: Terminal.Gui.ConsoleDriver
+  langs:
+  - csharp
+  name: VLine
+  nameWithType: ConsoleDriver.VLine
+  fullName: ConsoleDriver.VLine
+  type: Field
+  assemblies:
+  - Terminal.Gui
+  namespace: Terminal.Gui
+  summary: Vertical line character.
+  syntax:
+    content: public Rune VLine;
+    return:
+      type: System.Rune
+      description: To be added.
+  exceptions: []
 references:
 - uid: System.Object
   parent: System
@@ -563,6 +840,12 @@ references:
   name: String
   nameWithType: String
   fullName: System.String
+- uid: Terminal.Gui.ConsoleDriver.BottomTee
+  parent: Terminal.Gui.ConsoleDriver
+  isExternal: false
+  name: BottomTee
+  nameWithType: ConsoleDriver.BottomTee
+  fullName: ConsoleDriver.BottomTee
 - uid: Terminal.Gui.ConsoleDriver.Clip
   parent: Terminal.Gui.ConsoleDriver
   isExternal: false
@@ -581,6 +864,18 @@ references:
   name: Cols
   nameWithType: ConsoleDriver.Cols
   fullName: ConsoleDriver.Cols
+- uid: Terminal.Gui.ConsoleDriver.CookMouse
+  parent: Terminal.Gui.ConsoleDriver
+  isExternal: false
+  name: CookMouse()
+  nameWithType: ConsoleDriver.CookMouse()
+  fullName: ConsoleDriver.CookMouse()
+- uid: Terminal.Gui.ConsoleDriver.Diamond
+  parent: Terminal.Gui.ConsoleDriver
+  isExternal: false
+  name: Diamond
+  nameWithType: ConsoleDriver.Diamond
+  fullName: ConsoleDriver.Diamond
 - uid: Terminal.Gui.ConsoleDriver.DrawFrame(Terminal.Gui.Rect,System.Int32,System.Boolean)
   parent: Terminal.Gui.ConsoleDriver
   isExternal: false
@@ -599,6 +894,12 @@ references:
   name: End()
   nameWithType: ConsoleDriver.End()
   fullName: ConsoleDriver.End()
+- uid: Terminal.Gui.ConsoleDriver.HLine
+  parent: Terminal.Gui.ConsoleDriver
+  isExternal: false
+  name: HLine
+  nameWithType: ConsoleDriver.HLine
+  fullName: ConsoleDriver.HLine
 - uid: Terminal.Gui.ConsoleDriver.Init(System.Action)
   parent: Terminal.Gui.ConsoleDriver
   isExternal: false
@@ -611,6 +912,24 @@ references:
   name: Action
   nameWithType: Action
   fullName: System.Action
+- uid: Terminal.Gui.ConsoleDriver.LeftTee
+  parent: Terminal.Gui.ConsoleDriver
+  isExternal: false
+  name: LeftTee
+  nameWithType: ConsoleDriver.LeftTee
+  fullName: ConsoleDriver.LeftTee
+- uid: Terminal.Gui.ConsoleDriver.LLCorner
+  parent: Terminal.Gui.ConsoleDriver
+  isExternal: false
+  name: LLCorner
+  nameWithType: ConsoleDriver.LLCorner
+  fullName: ConsoleDriver.LLCorner
+- uid: Terminal.Gui.ConsoleDriver.LRCorner
+  parent: Terminal.Gui.ConsoleDriver
+  isExternal: false
+  name: LRCorner
+  nameWithType: ConsoleDriver.LRCorner
+  fullName: ConsoleDriver.LRCorner
 - uid: Terminal.Gui.ConsoleDriver.Move(System.Int32,System.Int32)
   parent: Terminal.Gui.ConsoleDriver
   isExternal: false
@@ -695,6 +1014,12 @@ references:
   name: Refresh()
   nameWithType: ConsoleDriver.Refresh()
   fullName: ConsoleDriver.Refresh()
+- uid: Terminal.Gui.ConsoleDriver.RightTee
+  parent: Terminal.Gui.ConsoleDriver
+  isExternal: false
+  name: RightTee
+  nameWithType: ConsoleDriver.RightTee
+  fullName: ConsoleDriver.RightTee
 - uid: Terminal.Gui.ConsoleDriver.Rows
   parent: Terminal.Gui.ConsoleDriver
   isExternal: false
@@ -713,18 +1038,6 @@ references:
   name: Attribute
   nameWithType: Attribute
   fullName: Terminal.Gui.Attribute
-- uid: Terminal.Gui.ConsoleDriver.SetColors(System.ConsoleColor,System.ConsoleColor)
-  parent: Terminal.Gui.ConsoleDriver
-  isExternal: false
-  name: SetColors(ConsoleColor, ConsoleColor)
-  nameWithType: ConsoleDriver.SetColors(ConsoleColor, ConsoleColor)
-  fullName: ConsoleDriver.SetColors(ConsoleColor, ConsoleColor)
-- uid: System.ConsoleColor
-  parent: System
-  isExternal: true
-  name: ConsoleColor
-  nameWithType: ConsoleColor
-  fullName: System.ConsoleColor
 - uid: Terminal.Gui.ConsoleDriver.SetColors(System.Int16,System.Int16)
   parent: Terminal.Gui.ConsoleDriver
   isExternal: false
@@ -737,12 +1050,30 @@ references:
   name: Int16
   nameWithType: Int16
   fullName: System.Int16
+- uid: Terminal.Gui.ConsoleDriver.SetColors(System.ConsoleColor,System.ConsoleColor)
+  parent: Terminal.Gui.ConsoleDriver
+  isExternal: false
+  name: SetColors(ConsoleColor, ConsoleColor)
+  nameWithType: ConsoleDriver.SetColors(ConsoleColor, ConsoleColor)
+  fullName: ConsoleDriver.SetColors(ConsoleColor, ConsoleColor)
+- uid: System.ConsoleColor
+  parent: System
+  isExternal: true
+  name: ConsoleColor
+  nameWithType: ConsoleColor
+  fullName: System.ConsoleColor
 - uid: Terminal.Gui.ConsoleDriver.StartReportingMouseMoves
   parent: Terminal.Gui.ConsoleDriver
   isExternal: false
   name: StartReportingMouseMoves()
   nameWithType: ConsoleDriver.StartReportingMouseMoves()
   fullName: ConsoleDriver.StartReportingMouseMoves()
+- uid: Terminal.Gui.ConsoleDriver.Stipple
+  parent: Terminal.Gui.ConsoleDriver
+  isExternal: false
+  name: Stipple
+  nameWithType: ConsoleDriver.Stipple
+  fullName: ConsoleDriver.Stipple
 - uid: Terminal.Gui.ConsoleDriver.StopReportingMouseMoves
   parent: Terminal.Gui.ConsoleDriver
   isExternal: false
@@ -755,6 +1086,36 @@ references:
   name: Suspend()
   nameWithType: ConsoleDriver.Suspend()
   fullName: ConsoleDriver.Suspend()
+- uid: Terminal.Gui.ConsoleDriver.TopTee
+  parent: Terminal.Gui.ConsoleDriver
+  isExternal: false
+  name: TopTee
+  nameWithType: ConsoleDriver.TopTee
+  fullName: ConsoleDriver.TopTee
+- uid: Terminal.Gui.ConsoleDriver.ULCorner
+  parent: Terminal.Gui.ConsoleDriver
+  isExternal: false
+  name: ULCorner
+  nameWithType: ConsoleDriver.ULCorner
+  fullName: ConsoleDriver.ULCorner
+- uid: Terminal.Gui.ConsoleDriver.UncookMouse
+  parent: Terminal.Gui.ConsoleDriver
+  isExternal: false
+  name: UncookMouse()
+  nameWithType: ConsoleDriver.UncookMouse()
+  fullName: ConsoleDriver.UncookMouse()
+- uid: Terminal.Gui.ConsoleDriver.URCorner
+  parent: Terminal.Gui.ConsoleDriver
+  isExternal: false
+  name: URCorner
+  nameWithType: ConsoleDriver.URCorner
+  fullName: ConsoleDriver.URCorner
+- uid: Terminal.Gui.ConsoleDriver.VLine
+  parent: Terminal.Gui.ConsoleDriver
+  isExternal: false
+  name: VLine
+  nameWithType: ConsoleDriver.VLine
+  fullName: ConsoleDriver.VLine
 - uid: Terminal.Gui.ConsoleDriver.#ctor*
   parent: Terminal.Gui.ConsoleDriver
   isExternal: false
@@ -797,6 +1158,12 @@ references:
   name: Cols
   nameWithType: ConsoleDriver.Cols
   fullName: ConsoleDriver.Cols
+- uid: Terminal.Gui.ConsoleDriver.CookMouse*
+  parent: Terminal.Gui.ConsoleDriver
+  isExternal: false
+  name: CookMouse
+  nameWithType: ConsoleDriver.CookMouse
+  fullName: ConsoleDriver.CookMouse
 - uid: Terminal.Gui.ConsoleDriver.DrawFrame*
   parent: Terminal.Gui.ConsoleDriver
   isExternal: false
@@ -875,3 +1242,9 @@ references:
   name: Suspend
   nameWithType: ConsoleDriver.Suspend
   fullName: ConsoleDriver.Suspend
+- uid: Terminal.Gui.ConsoleDriver.UncookMouse*
+  parent: Terminal.Gui.ConsoleDriver
+  isExternal: false
+  name: UncookMouse
+  nameWithType: ConsoleDriver.UncookMouse
+  fullName: ConsoleDriver.UncookMouse

+ 5 - 5
docfx/api/Terminal.Gui/Terminal.Gui.Dialog.yml

@@ -27,7 +27,6 @@ items:
   - Terminal.Gui.Window
   implements: []
   inheritedMembers:
-  - Terminal.Gui.Responder.MouseEvent(Terminal.Gui.MouseEvent)
   - Terminal.Gui.Toplevel.CanFocus
   - Terminal.Gui.Toplevel.Create
   - Terminal.Gui.Toplevel.Running
@@ -74,6 +73,7 @@ items:
   - Terminal.Gui.View.WantMousePositionReports
   - Terminal.Gui.Window.Add(Terminal.Gui.View)
   - Terminal.Gui.Window.GetEnumerator
+  - Terminal.Gui.Window.MouseEvent(Terminal.Gui.MouseEvent)
   - Terminal.Gui.Window.Redraw(Terminal.Gui.Rect)
   - Terminal.Gui.Window.Remove(Terminal.Gui.View)
   - Terminal.Gui.Window.Title
@@ -277,12 +277,12 @@ references:
   name: HasFocus
   nameWithType: View.HasFocus
   fullName: View.HasFocus
-- uid: Terminal.Gui.Responder.MouseEvent(Terminal.Gui.MouseEvent)
-  parent: Terminal.Gui.Responder
+- uid: Terminal.Gui.Window.MouseEvent(Terminal.Gui.MouseEvent)
+  parent: Terminal.Gui.Window
   isExternal: false
   name: MouseEvent(MouseEvent)
-  nameWithType: Responder.MouseEvent(MouseEvent)
-  fullName: Responder.MouseEvent(MouseEvent)
+  nameWithType: Window.MouseEvent(MouseEvent)
+  fullName: Window.MouseEvent(MouseEvent)
 - uid: Terminal.Gui.View.ProcessColdKey(Terminal.Gui.KeyEvent)
   parent: Terminal.Gui.View
   isExternal: false

+ 48 - 7
docfx/api/Terminal.Gui/Terminal.Gui.Window.yml

@@ -8,6 +8,7 @@ items:
   - Terminal.Gui.Window.#ctor(Terminal.Gui.Rect,NStack.ustring,System.Int32)
   - Terminal.Gui.Window.Add(Terminal.Gui.View)
   - Terminal.Gui.Window.GetEnumerator
+  - Terminal.Gui.Window.MouseEvent(Terminal.Gui.MouseEvent)
   - Terminal.Gui.Window.Redraw(Terminal.Gui.Rect)
   - Terminal.Gui.Window.Remove(Terminal.Gui.View)
   - Terminal.Gui.Window.Title
@@ -33,7 +34,6 @@ items:
   implements:
   - System.Collections.IEnumerable
   inheritedMembers:
-  - Terminal.Gui.Responder.MouseEvent(Terminal.Gui.MouseEvent)
   - Terminal.Gui.Toplevel.CanFocus
   - Terminal.Gui.Toplevel.Create
   - Terminal.Gui.Toplevel.ProcessKey(Terminal.Gui.KeyEvent)
@@ -196,6 +196,29 @@ items:
       description: The enumerator.
   overload: Terminal.Gui.Window.GetEnumerator*
   exceptions: []
+- uid: Terminal.Gui.Window.MouseEvent(Terminal.Gui.MouseEvent)
+  id: MouseEvent(Terminal.Gui.MouseEvent)
+  parent: Terminal.Gui.Window
+  langs:
+  - csharp
+  name: MouseEvent(MouseEvent)
+  nameWithType: Window.MouseEvent(MouseEvent)
+  fullName: Window.MouseEvent(MouseEvent)
+  type: Method
+  assemblies:
+  - Terminal.Gui
+  namespace: Terminal.Gui
+  syntax:
+    content: public override bool MouseEvent (Terminal.Gui.MouseEvent me);
+    parameters:
+    - id: me
+      type: Terminal.Gui.MouseEvent
+      description: To be added.
+    return:
+      type: System.Boolean
+      description: To be added.
+  overload: Terminal.Gui.Window.MouseEvent*
+  exceptions: []
 - uid: Terminal.Gui.Window.Redraw(Terminal.Gui.Rect)
   id: Redraw(Terminal.Gui.Rect)
   parent: Terminal.Gui.Window
@@ -330,6 +353,24 @@ references:
   name: IEnumerator
   nameWithType: IEnumerator
   fullName: System.Collections.IEnumerator
+- uid: Terminal.Gui.Window.MouseEvent(Terminal.Gui.MouseEvent)
+  parent: Terminal.Gui.Window
+  isExternal: false
+  name: MouseEvent(MouseEvent)
+  nameWithType: Window.MouseEvent(MouseEvent)
+  fullName: Window.MouseEvent(MouseEvent)
+- uid: System.Boolean
+  parent: System
+  isExternal: true
+  name: Boolean
+  nameWithType: Boolean
+  fullName: System.Boolean
+- uid: Terminal.Gui.MouseEvent
+  parent: Terminal.Gui
+  isExternal: false
+  name: MouseEvent
+  nameWithType: MouseEvent
+  fullName: Terminal.Gui.MouseEvent
 - uid: Terminal.Gui.Window.Redraw(Terminal.Gui.Rect)
   parent: Terminal.Gui.Window
   isExternal: false
@@ -366,6 +407,12 @@ references:
   name: GetEnumerator
   nameWithType: Window.GetEnumerator
   fullName: Window.GetEnumerator
+- uid: Terminal.Gui.Window.MouseEvent*
+  parent: Terminal.Gui.Window
+  isExternal: false
+  name: MouseEvent
+  nameWithType: Window.MouseEvent
+  fullName: Window.MouseEvent
 - uid: Terminal.Gui.Window.Redraw*
   parent: Terminal.Gui.Window
   isExternal: false
@@ -396,12 +443,6 @@ references:
   name: HasFocus
   nameWithType: View.HasFocus
   fullName: View.HasFocus
-- uid: Terminal.Gui.Responder.MouseEvent(Terminal.Gui.MouseEvent)
-  parent: Terminal.Gui.Responder
-  isExternal: false
-  name: MouseEvent(MouseEvent)
-  nameWithType: Responder.MouseEvent(MouseEvent)
-  fullName: Responder.MouseEvent(MouseEvent)
 - uid: Terminal.Gui.View.ProcessColdKey(Terminal.Gui.KeyEvent)
   parent: Terminal.Gui.View
   isExternal: false

+ 26 - 0
docs/api/Terminal.Gui/Terminal.Gui.Application.html

@@ -165,6 +165,32 @@
       </tr>
     </tbody>
   </table>
+  
+  
+  <h4 id="Terminal_Gui_Application_UseSystemConsole" data-uid="Terminal.Gui.Application.UseSystemConsole">UseSystemConsole</h4>
+  <div class="markdown level1 summary"><p>If set, it forces the use of the System.Console-based driver.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static bool UseSystemConsole;</code></pre>
+  </div>
+  <h5 class="fieldValue">Field Value</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Type</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="xref">System.Boolean</span></td>
+        <td><p>To be added.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
   <h3 id="properties">Properties
   </h3>
   

+ 357 - 21
docs/api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html

@@ -98,6 +98,320 @@
   <div class="codewrapper">
     <pre><code class="lang-csharp hljs">protected ConsoleDriver ();</code></pre>
   </div>
+  <h3 id="fields">Fields
+  </h3>
+  
+  
+  <h4 id="Terminal_Gui_ConsoleDriver_BottomTee" data-uid="Terminal.Gui.ConsoleDriver.BottomTee">BottomTee</h4>
+  <div class="markdown level1 summary"><p>The bottom tee.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Rune BottomTee;</code></pre>
+  </div>
+  <h5 class="fieldValue">Field Value</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Type</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="xref">System.Rune</span></td>
+        <td><p>To be added.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  
+  
+  <h4 id="Terminal_Gui_ConsoleDriver_Diamond" data-uid="Terminal.Gui.ConsoleDriver.Diamond">Diamond</h4>
+  <div class="markdown level1 summary"><p>Diamond character</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Rune Diamond;</code></pre>
+  </div>
+  <h5 class="fieldValue">Field Value</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Type</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="xref">System.Rune</span></td>
+        <td><p>To be added.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  
+  
+  <h4 id="Terminal_Gui_ConsoleDriver_HLine" data-uid="Terminal.Gui.ConsoleDriver.HLine">HLine</h4>
+  <div class="markdown level1 summary"><p>Horizontal line character.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Rune HLine;</code></pre>
+  </div>
+  <h5 class="fieldValue">Field Value</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Type</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="xref">System.Rune</span></td>
+        <td><p>To be added.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  
+  
+  <h4 id="Terminal_Gui_ConsoleDriver_LeftTee" data-uid="Terminal.Gui.ConsoleDriver.LeftTee">LeftTee</h4>
+  <div class="markdown level1 summary"><p>Left tee</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Rune LeftTee;</code></pre>
+  </div>
+  <h5 class="fieldValue">Field Value</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Type</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="xref">System.Rune</span></td>
+        <td><p>To be added.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  
+  
+  <h4 id="Terminal_Gui_ConsoleDriver_LLCorner" data-uid="Terminal.Gui.ConsoleDriver.LLCorner">LLCorner</h4>
+  <div class="markdown level1 summary"><p>Lower left corner</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Rune LLCorner;</code></pre>
+  </div>
+  <h5 class="fieldValue">Field Value</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Type</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="xref">System.Rune</span></td>
+        <td><p>To be added.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  
+  
+  <h4 id="Terminal_Gui_ConsoleDriver_LRCorner" data-uid="Terminal.Gui.ConsoleDriver.LRCorner">LRCorner</h4>
+  <div class="markdown level1 summary"><p>Lower right corner</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Rune LRCorner;</code></pre>
+  </div>
+  <h5 class="fieldValue">Field Value</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Type</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="xref">System.Rune</span></td>
+        <td><p>To be added.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  
+  
+  <h4 id="Terminal_Gui_ConsoleDriver_RightTee" data-uid="Terminal.Gui.ConsoleDriver.RightTee">RightTee</h4>
+  <div class="markdown level1 summary"><p>Right tee</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Rune RightTee;</code></pre>
+  </div>
+  <h5 class="fieldValue">Field Value</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Type</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="xref">System.Rune</span></td>
+        <td><p>To be added.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  
+  
+  <h4 id="Terminal_Gui_ConsoleDriver_Stipple" data-uid="Terminal.Gui.ConsoleDriver.Stipple">Stipple</h4>
+  <div class="markdown level1 summary"><p>Stipple pattern</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Rune Stipple;</code></pre>
+  </div>
+  <h5 class="fieldValue">Field Value</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Type</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="xref">System.Rune</span></td>
+        <td><p>To be added.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  
+  
+  <h4 id="Terminal_Gui_ConsoleDriver_TopTee" data-uid="Terminal.Gui.ConsoleDriver.TopTee">TopTee</h4>
+  <div class="markdown level1 summary"><p>Top tee</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Rune TopTee;</code></pre>
+  </div>
+  <h5 class="fieldValue">Field Value</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Type</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="xref">System.Rune</span></td>
+        <td><p>To be added.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  
+  
+  <h4 id="Terminal_Gui_ConsoleDriver_ULCorner" data-uid="Terminal.Gui.ConsoleDriver.ULCorner">ULCorner</h4>
+  <div class="markdown level1 summary"><p>Upper left corner</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Rune ULCorner;</code></pre>
+  </div>
+  <h5 class="fieldValue">Field Value</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Type</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="xref">System.Rune</span></td>
+        <td><p>To be added.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  
+  
+  <h4 id="Terminal_Gui_ConsoleDriver_URCorner" data-uid="Terminal.Gui.ConsoleDriver.URCorner">URCorner</h4>
+  <div class="markdown level1 summary"><p>Upper right corner</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Rune URCorner;</code></pre>
+  </div>
+  <h5 class="fieldValue">Field Value</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Type</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="xref">System.Rune</span></td>
+        <td><p>To be added.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  
+  
+  <h4 id="Terminal_Gui_ConsoleDriver_VLine" data-uid="Terminal.Gui.ConsoleDriver.VLine">VLine</h4>
+  <div class="markdown level1 summary"><p>Vertical line character.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Rune VLine;</code></pre>
+  </div>
+  <h5 class="fieldValue">Field Value</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Type</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="xref">System.Rune</span></td>
+        <td><p>To be added.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
   <h3 id="properties">Properties
   </h3>
   
@@ -330,13 +644,24 @@
   </table>
   
   
+  <a id="Terminal_Gui_ConsoleDriver_CookMouse_" data-uid="Terminal.Gui.ConsoleDriver.CookMouse*"></a>
+  <h4 id="Terminal_Gui_ConsoleDriver_CookMouse" data-uid="Terminal.Gui.ConsoleDriver.CookMouse">CookMouse()</h4>
+  <div class="markdown level1 summary"><p>Enables the cooked event processing from the mouse driver</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract void CookMouse ();</code></pre>
+  </div>
+  
+  
   <a id="Terminal_Gui_ConsoleDriver_DrawFrame_" data-uid="Terminal.Gui.ConsoleDriver.DrawFrame*"></a>
   <h4 id="Terminal_Gui_ConsoleDriver_DrawFrame_Terminal_Gui_Rect_System_Int32_System_Boolean_" data-uid="Terminal.Gui.ConsoleDriver.DrawFrame(Terminal.Gui.Rect,System.Int32,System.Boolean)">DrawFrame(Rect, Int32, Boolean)</h4>
   <div class="markdown level1 summary"></div>
   <div class="markdown level1 conceptual"></div>
   <h5 class="decalaration">Declaration</h5>
   <div class="codewrapper">
-    <pre><code class="lang-csharp hljs">public abstract void DrawFrame (Terminal.Gui.Rect region, int padding, bool fill);</code></pre>
+    <pre><code class="lang-csharp hljs">public virtual void DrawFrame (Terminal.Gui.Rect region, int padding, bool fill);</code></pre>
   </div>
   <h5 class="parameters">Parameters</h5>
   <table class="table table-bordered table-striped table-condensed">
@@ -535,12 +860,14 @@
   
   
   <a id="Terminal_Gui_ConsoleDriver_SetColors_" data-uid="Terminal.Gui.ConsoleDriver.SetColors*"></a>
-  <h4 id="Terminal_Gui_ConsoleDriver_SetColors_System_ConsoleColor_System_ConsoleColor_" data-uid="Terminal.Gui.ConsoleDriver.SetColors(System.ConsoleColor,System.ConsoleColor)">SetColors(ConsoleColor, ConsoleColor)</h4>
-  <div class="markdown level1 summary"></div>
+  <h4 id="Terminal_Gui_ConsoleDriver_SetColors_System_Int16_System_Int16_" data-uid="Terminal.Gui.ConsoleDriver.SetColors(System.Int16,System.Int16)">SetColors(Int16, Int16)</h4>
+  <div class="markdown level1 summary"><p>Advanced uses - set colors to any pre-set pairs, you would need to init_color 
+            that independently with the R, G, B values.</p>
+</div>
   <div class="markdown level1 conceptual"></div>
   <h5 class="decalaration">Declaration</h5>
   <div class="codewrapper">
-    <pre><code class="lang-csharp hljs">public abstract void SetColors (ConsoleColor foreground, ConsoleColor background);</code></pre>
+    <pre><code class="lang-csharp hljs">public abstract void SetColors (short foregroundColorId, short backgroundColorId);</code></pre>
   </div>
   <h5 class="parameters">Parameters</h5>
   <table class="table table-bordered table-striped table-condensed">
@@ -553,15 +880,15 @@
     </thead>
     <tbody>
       <tr>
-        <td><span class="xref">System.ConsoleColor</span></td>
-        <td><span class="parametername">foreground</span></td>
-        <td><p>To be added.</p>
+        <td><span class="xref">System.Int16</span></td>
+        <td><span class="parametername">foregroundColorId</span></td>
+        <td><p>Foreground color identifier.</p>
 </td>
       </tr>
       <tr>
-        <td><span class="xref">System.ConsoleColor</span></td>
-        <td><span class="parametername">background</span></td>
-        <td><p>To be added.</p>
+        <td><span class="xref">System.Int16</span></td>
+        <td><span class="parametername">backgroundColorId</span></td>
+        <td><p>Background color identifier.</p>
 </td>
       </tr>
     </tbody>
@@ -569,14 +896,12 @@
   
   
   <a id="Terminal_Gui_ConsoleDriver_SetColors_" data-uid="Terminal.Gui.ConsoleDriver.SetColors*"></a>
-  <h4 id="Terminal_Gui_ConsoleDriver_SetColors_System_Int16_System_Int16_" data-uid="Terminal.Gui.ConsoleDriver.SetColors(System.Int16,System.Int16)">SetColors(Int16, Int16)</h4>
-  <div class="markdown level1 summary"><p>Advanced uses - set colors to any pre-set pairs, you would need to init_color 
-            that independently with the R, G, B values.</p>
-</div>
+  <h4 id="Terminal_Gui_ConsoleDriver_SetColors_System_ConsoleColor_System_ConsoleColor_" data-uid="Terminal.Gui.ConsoleDriver.SetColors(System.ConsoleColor,System.ConsoleColor)">SetColors(ConsoleColor, ConsoleColor)</h4>
+  <div class="markdown level1 summary"></div>
   <div class="markdown level1 conceptual"></div>
   <h5 class="decalaration">Declaration</h5>
   <div class="codewrapper">
-    <pre><code class="lang-csharp hljs">public abstract void SetColors (short foregroundColorId, short backgroundColorId);</code></pre>
+    <pre><code class="lang-csharp hljs">public abstract void SetColors (ConsoleColor foreground, ConsoleColor background);</code></pre>
   </div>
   <h5 class="parameters">Parameters</h5>
   <table class="table table-bordered table-striped table-condensed">
@@ -589,15 +914,15 @@
     </thead>
     <tbody>
       <tr>
-        <td><span class="xref">System.Int16</span></td>
-        <td><span class="parametername">foregroundColorId</span></td>
-        <td><p>Foreground color identifier.</p>
+        <td><span class="xref">System.ConsoleColor</span></td>
+        <td><span class="parametername">foreground</span></td>
+        <td><p>To be added.</p>
 </td>
       </tr>
       <tr>
-        <td><span class="xref">System.Int16</span></td>
-        <td><span class="parametername">backgroundColorId</span></td>
-        <td><p>Background color identifier.</p>
+        <td><span class="xref">System.ConsoleColor</span></td>
+        <td><span class="parametername">background</span></td>
+        <td><p>To be added.</p>
 </td>
       </tr>
     </tbody>
@@ -633,6 +958,17 @@
   <div class="codewrapper">
     <pre><code class="lang-csharp hljs">public abstract void Suspend ();</code></pre>
   </div>
+  
+  
+  <a id="Terminal_Gui_ConsoleDriver_UncookMouse_" data-uid="Terminal.Gui.ConsoleDriver.UncookMouse*"></a>
+  <h4 id="Terminal_Gui_ConsoleDriver_UncookMouse" data-uid="Terminal.Gui.ConsoleDriver.UncookMouse">UncookMouse()</h4>
+  <div class="markdown level1 summary"><p>Disables the cooked event processing from the mouse driver.  At startup, it is assumed mouse events are cooked.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract void UncookMouse ();</code></pre>
+  </div>
 </article>
           </div>
           

+ 3 - 3
docs/api/Terminal.Gui/Terminal.Gui.Dialog.html

@@ -87,9 +87,6 @@
   </div>
   <div class="inheritedMembers">
     <h5>Inherited Members</h5>
-    <div>
-      <a class="xref" href="Terminal.Gui.Responder.html#Terminal_Gui_Responder_MouseEvent_Terminal_Gui_MouseEvent_">Responder.MouseEvent(MouseEvent)</a>
-    </div>
     <div>
       <a class="xref" href="Terminal.Gui.Toplevel.html#Terminal_Gui_Toplevel_CanFocus">Toplevel.CanFocus</a>
     </div>
@@ -228,6 +225,9 @@
     <div>
       <a class="xref" href="Terminal.Gui.Window.html#Terminal_Gui_Window_GetEnumerator">Window.GetEnumerator()</a>
     </div>
+    <div>
+      <a class="xref" href="Terminal.Gui.Window.html#Terminal_Gui_Window_MouseEvent_Terminal_Gui_MouseEvent_">Window.MouseEvent(MouseEvent)</a>
+    </div>
     <div>
       <a class="xref" href="Terminal.Gui.Window.html#Terminal_Gui_Window_Redraw_Terminal_Gui_Rect_">Window.Redraw(Rect)</a>
     </div>

+ 44 - 3
docs/api/Terminal.Gui/Terminal.Gui.Window.html

@@ -86,9 +86,6 @@
       <div class="level5"><a class="xref" href="Terminal.Gui.Dialog.html">Dialog</a></div>
   <div class="inheritedMembers">
     <h5>Inherited Members</h5>
-    <div>
-      <a class="xref" href="Terminal.Gui.Responder.html#Terminal_Gui_Responder_MouseEvent_Terminal_Gui_MouseEvent_">Responder.MouseEvent(MouseEvent)</a>
-    </div>
     <div>
       <a class="xref" href="Terminal.Gui.Toplevel.html#Terminal_Gui_Toplevel_CanFocus">Toplevel.CanFocus</a>
     </div>
@@ -438,6 +435,50 @@
   </table>
   
   
+  <a id="Terminal_Gui_Window_MouseEvent_" data-uid="Terminal.Gui.Window.MouseEvent*"></a>
+  <h4 id="Terminal_Gui_Window_MouseEvent_Terminal_Gui_MouseEvent_" data-uid="Terminal.Gui.Window.MouseEvent(Terminal.Gui.MouseEvent)">MouseEvent(MouseEvent)</h4>
+  <div class="markdown level1 summary"></div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public override bool MouseEvent (Terminal.Gui.MouseEvent me);</code></pre>
+  </div>
+  <h5 class="parameters">Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Type</th>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><a class="xref" href="Terminal.Gui.MouseEvent.html">MouseEvent</a></td>
+        <td><span class="parametername">me</span></td>
+        <td><p>To be added.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="returns">Returns</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Type</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="xref">System.Boolean</span></td>
+        <td><p>To be added.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  
+  
   <a id="Terminal_Gui_Window_Redraw_" data-uid="Terminal.Gui.Window.Redraw*"></a>
   <h4 id="Terminal_Gui_Window_Redraw_Terminal_Gui_Rect_" data-uid="Terminal.Gui.Window.Redraw(Terminal.Gui.Rect)">Redraw(Rect)</h4>
   <div class="markdown level1 summary"></div>

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
docs/manifest.json


+ 95 - 0
docs/xrefmap.yml

@@ -1361,6 +1361,11 @@ references:
   href: api/Terminal.Gui/Terminal.Gui.Application.html#Terminal_Gui_Application_UngrabMouse_
   fullName: Application.UngrabMouse
   nameWithType: Application.UngrabMouse
+- uid: Terminal.Gui.Application.UseSystemConsole
+  name: UseSystemConsole
+  href: api/Terminal.Gui/Terminal.Gui.Application.html#Terminal_Gui_Application_UseSystemConsole
+  fullName: Application.UseSystemConsole
+  nameWithType: Application.UseSystemConsole
 - uid: Terminal.Gui.Attribute
   name: Attribute
   href: api/Terminal.Gui/Terminal.Gui.Attribute.html
@@ -1831,6 +1836,11 @@ references:
   href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_AddStr_
   fullName: ConsoleDriver.AddStr
   nameWithType: ConsoleDriver.AddStr
+- uid: Terminal.Gui.ConsoleDriver.BottomTee
+  name: BottomTee
+  href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_BottomTee
+  fullName: ConsoleDriver.BottomTee
+  nameWithType: ConsoleDriver.BottomTee
 - uid: Terminal.Gui.ConsoleDriver.Clip
   name: Clip
   href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_Clip
@@ -1851,6 +1861,21 @@ references:
   href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_Cols_
   fullName: ConsoleDriver.Cols
   nameWithType: ConsoleDriver.Cols
+- uid: Terminal.Gui.ConsoleDriver.CookMouse
+  name: CookMouse()
+  href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_CookMouse
+  fullName: ConsoleDriver.CookMouse()
+  nameWithType: ConsoleDriver.CookMouse()
+- uid: Terminal.Gui.ConsoleDriver.CookMouse*
+  name: CookMouse
+  href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_CookMouse_
+  fullName: ConsoleDriver.CookMouse
+  nameWithType: ConsoleDriver.CookMouse
+- uid: Terminal.Gui.ConsoleDriver.Diamond
+  name: Diamond
+  href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_Diamond
+  fullName: ConsoleDriver.Diamond
+  nameWithType: ConsoleDriver.Diamond
 - uid: Terminal.Gui.ConsoleDriver.DrawFrame(Terminal.Gui.Rect,System.Int32,System.Boolean)
   name: DrawFrame(Rect, Int32, Boolean)
   href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_DrawFrame_Terminal_Gui_Rect_System_Int32_System_Boolean_
@@ -1871,6 +1896,11 @@ references:
   href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_End_
   fullName: ConsoleDriver.End
   nameWithType: ConsoleDriver.End
+- uid: Terminal.Gui.ConsoleDriver.HLine
+  name: HLine
+  href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_HLine
+  fullName: ConsoleDriver.HLine
+  nameWithType: ConsoleDriver.HLine
 - uid: Terminal.Gui.ConsoleDriver.Init(System.Action)
   name: Init(Action)
   href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_Init_System_Action_
@@ -1881,6 +1911,21 @@ references:
   href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_Init_
   fullName: ConsoleDriver.Init
   nameWithType: ConsoleDriver.Init
+- uid: Terminal.Gui.ConsoleDriver.LeftTee
+  name: LeftTee
+  href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_LeftTee
+  fullName: ConsoleDriver.LeftTee
+  nameWithType: ConsoleDriver.LeftTee
+- uid: Terminal.Gui.ConsoleDriver.LLCorner
+  name: LLCorner
+  href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_LLCorner
+  fullName: ConsoleDriver.LLCorner
+  nameWithType: ConsoleDriver.LLCorner
+- uid: Terminal.Gui.ConsoleDriver.LRCorner
+  name: LRCorner
+  href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_LRCorner
+  fullName: ConsoleDriver.LRCorner
+  nameWithType: ConsoleDriver.LRCorner
 - uid: Terminal.Gui.ConsoleDriver.Move(System.Int32,System.Int32)
   name: Move(Int32, Int32)
   href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_Move_System_Int32_System_Int32_
@@ -1921,6 +1966,11 @@ references:
   href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_Refresh_
   fullName: ConsoleDriver.Refresh
   nameWithType: ConsoleDriver.Refresh
+- uid: Terminal.Gui.ConsoleDriver.RightTee
+  name: RightTee
+  href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_RightTee
+  fullName: ConsoleDriver.RightTee
+  nameWithType: ConsoleDriver.RightTee
 - uid: Terminal.Gui.ConsoleDriver.Rows
   name: Rows
   href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_Rows
@@ -1966,6 +2016,11 @@ references:
   href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_StartReportingMouseMoves_
   fullName: ConsoleDriver.StartReportingMouseMoves
   nameWithType: ConsoleDriver.StartReportingMouseMoves
+- uid: Terminal.Gui.ConsoleDriver.Stipple
+  name: Stipple
+  href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_Stipple
+  fullName: ConsoleDriver.Stipple
+  nameWithType: ConsoleDriver.Stipple
 - uid: Terminal.Gui.ConsoleDriver.StopReportingMouseMoves
   name: StopReportingMouseMoves()
   href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_StopReportingMouseMoves
@@ -1986,6 +2041,36 @@ references:
   href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_Suspend_
   fullName: ConsoleDriver.Suspend
   nameWithType: ConsoleDriver.Suspend
+- uid: Terminal.Gui.ConsoleDriver.TopTee
+  name: TopTee
+  href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_TopTee
+  fullName: ConsoleDriver.TopTee
+  nameWithType: ConsoleDriver.TopTee
+- uid: Terminal.Gui.ConsoleDriver.ULCorner
+  name: ULCorner
+  href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_ULCorner
+  fullName: ConsoleDriver.ULCorner
+  nameWithType: ConsoleDriver.ULCorner
+- uid: Terminal.Gui.ConsoleDriver.UncookMouse
+  name: UncookMouse()
+  href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_UncookMouse
+  fullName: ConsoleDriver.UncookMouse()
+  nameWithType: ConsoleDriver.UncookMouse()
+- uid: Terminal.Gui.ConsoleDriver.UncookMouse*
+  name: UncookMouse
+  href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_UncookMouse_
+  fullName: ConsoleDriver.UncookMouse
+  nameWithType: ConsoleDriver.UncookMouse
+- uid: Terminal.Gui.ConsoleDriver.URCorner
+  name: URCorner
+  href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_URCorner
+  fullName: ConsoleDriver.URCorner
+  nameWithType: ConsoleDriver.URCorner
+- uid: Terminal.Gui.ConsoleDriver.VLine
+  name: VLine
+  href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_VLine
+  fullName: ConsoleDriver.VLine
+  nameWithType: ConsoleDriver.VLine
 - uid: Terminal.Gui.Dialog
   name: Dialog
   href: api/Terminal.Gui/Terminal.Gui.Dialog.html
@@ -4761,6 +4846,16 @@ references:
   href: api/Terminal.Gui/Terminal.Gui.Window.html#Terminal_Gui_Window_GetEnumerator_
   fullName: Window.GetEnumerator
   nameWithType: Window.GetEnumerator
+- uid: Terminal.Gui.Window.MouseEvent(Terminal.Gui.MouseEvent)
+  name: MouseEvent(MouseEvent)
+  href: api/Terminal.Gui/Terminal.Gui.Window.html#Terminal_Gui_Window_MouseEvent_Terminal_Gui_MouseEvent_
+  fullName: Window.MouseEvent(MouseEvent)
+  nameWithType: Window.MouseEvent(MouseEvent)
+- uid: Terminal.Gui.Window.MouseEvent*
+  name: MouseEvent
+  href: api/Terminal.Gui/Terminal.Gui.Window.html#Terminal_Gui_Window_MouseEvent_
+  fullName: Window.MouseEvent
+  nameWithType: Window.MouseEvent
 - uid: Terminal.Gui.Window.Redraw(Terminal.Gui.Rect)
   name: Redraw(Rect)
   href: api/Terminal.Gui/Terminal.Gui.Window.html#Terminal_Gui_Window_Redraw_Terminal_Gui_Rect_

+ 17 - 0
ecmadocs/en/Terminal.Gui/Application.xml

@@ -379,5 +379,22 @@
         <remarks>To be added.</remarks>
       </Docs>
     </Member>
+    <Member MemberName="UseSystemConsole">
+      <MemberSignature Language="C#" Value="public static bool UseSystemConsole;" />
+      <MemberSignature Language="ILAsm" Value=".field public static bool UseSystemConsole" />
+      <MemberType>Field</MemberType>
+      <AssemblyInfo>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>
+            If set, it forces the use of the System.Console-based driver.
+            </summary>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
   </Members>
 </Type>

+ 241 - 4
ecmadocs/en/Terminal.Gui/ConsoleDriver.xml

@@ -72,9 +72,6 @@
       <MemberSignature Language="C#" Value="public abstract void AddSpecial (Terminal.Gui.SpecialChar ch);" />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void AddSpecial(valuetype Terminal.Gui.SpecialChar ch) cil managed" />
       <MemberType>Method</MemberType>
-      <AssemblyInfo>
-        <AssemblyVersion>0.0.0.0</AssemblyVersion>
-      </AssemblyInfo>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
@@ -128,6 +125,23 @@
         <remarks>To be added.</remarks>
       </Docs>
     </Member>
+    <Member MemberName="BottomTee">
+      <MemberSignature Language="C#" Value="public Rune BottomTee;" />
+      <MemberSignature Language="ILAsm" Value=".field public valuetype System.Rune BottomTee" />
+      <MemberType>Field</MemberType>
+      <AssemblyInfo>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.Rune</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>
+            The bottom tee.
+            </summary>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
     <Member MemberName="Clip">
       <MemberSignature Language="C#" Value="public Terminal.Gui.Rect Clip { get; set; }" />
       <MemberSignature Language="ILAsm" Value=".property instance valuetype Terminal.Gui.Rect Clip" />
@@ -164,8 +178,43 @@
         <remarks>To be added.</remarks>
       </Docs>
     </Member>
+    <Member MemberName="CookMouse">
+      <MemberSignature Language="C#" Value="public abstract void CookMouse ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void CookMouse() cil managed" />
+      <MemberType>Method</MemberType>
+      <AssemblyInfo>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters />
+      <Docs>
+        <summary>
+            Enables the cooked event processing from the mouse driver
+            </summary>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
+    <Member MemberName="Diamond">
+      <MemberSignature Language="C#" Value="public Rune Diamond;" />
+      <MemberSignature Language="ILAsm" Value=".field public valuetype System.Rune Diamond" />
+      <MemberType>Field</MemberType>
+      <AssemblyInfo>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.Rune</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>
+            Diamond character
+            </summary>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
     <Member MemberName="DrawFrame">
-      <MemberSignature Language="C#" Value="public abstract void DrawFrame (Terminal.Gui.Rect region, int padding, bool fill);" />
+      <MemberSignature Language="C#" Value="public virtual void DrawFrame (Terminal.Gui.Rect region, int padding, bool fill);" />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void DrawFrame(valuetype Terminal.Gui.Rect region, int32 padding, bool fill) cil managed" />
       <MemberType>Method</MemberType>
       <AssemblyInfo>
@@ -205,6 +254,23 @@
         <remarks>To be added.</remarks>
       </Docs>
     </Member>
+    <Member MemberName="HLine">
+      <MemberSignature Language="C#" Value="public Rune HLine;" />
+      <MemberSignature Language="ILAsm" Value=".field public valuetype System.Rune HLine" />
+      <MemberType>Field</MemberType>
+      <AssemblyInfo>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.Rune</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>
+            Horizontal line character.
+            </summary>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
     <Member MemberName="Init">
       <MemberSignature Language="C#" Value="public abstract void Init (Action terminalResized);" />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Init(class System.Action terminalResized) cil managed" />
@@ -226,6 +292,57 @@
         <remarks>To be added.</remarks>
       </Docs>
     </Member>
+    <Member MemberName="LeftTee">
+      <MemberSignature Language="C#" Value="public Rune LeftTee;" />
+      <MemberSignature Language="ILAsm" Value=".field public valuetype System.Rune LeftTee" />
+      <MemberType>Field</MemberType>
+      <AssemblyInfo>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.Rune</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>
+            Left tee
+            </summary>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
+    <Member MemberName="LLCorner">
+      <MemberSignature Language="C#" Value="public Rune LLCorner;" />
+      <MemberSignature Language="ILAsm" Value=".field public valuetype System.Rune LLCorner" />
+      <MemberType>Field</MemberType>
+      <AssemblyInfo>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.Rune</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>
+            Lower left corner
+            </summary>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
+    <Member MemberName="LRCorner">
+      <MemberSignature Language="C#" Value="public Rune LRCorner;" />
+      <MemberSignature Language="ILAsm" Value=".field public valuetype System.Rune LRCorner" />
+      <MemberType>Field</MemberType>
+      <AssemblyInfo>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.Rune</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>
+            Lower right corner
+            </summary>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
     <Member MemberName="Move">
       <MemberSignature Language="C#" Value="public abstract void Move (int col, int row);" />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Move(int32 col, int32 row) cil managed" />
@@ -306,6 +423,23 @@
         <remarks>To be added.</remarks>
       </Docs>
     </Member>
+    <Member MemberName="RightTee">
+      <MemberSignature Language="C#" Value="public Rune RightTee;" />
+      <MemberSignature Language="ILAsm" Value=".field public valuetype System.Rune RightTee" />
+      <MemberType>Field</MemberType>
+      <AssemblyInfo>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.Rune</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>
+            Right tee
+            </summary>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
     <Member MemberName="Rows">
       <MemberSignature Language="C#" Value="public abstract int Rows { get; }" />
       <MemberSignature Language="ILAsm" Value=".property instance int32 Rows" />
@@ -404,6 +538,23 @@
         <remarks>To be added.</remarks>
       </Docs>
     </Member>
+    <Member MemberName="Stipple">
+      <MemberSignature Language="C#" Value="public Rune Stipple;" />
+      <MemberSignature Language="ILAsm" Value=".field public valuetype System.Rune Stipple" />
+      <MemberType>Field</MemberType>
+      <AssemblyInfo>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.Rune</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>
+            Stipple pattern
+            </summary>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
     <Member MemberName="StopReportingMouseMoves">
       <MemberSignature Language="C#" Value="public abstract void StopReportingMouseMoves ();" />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void StopReportingMouseMoves() cil managed" />
@@ -438,5 +589,91 @@
         <remarks>To be added.</remarks>
       </Docs>
     </Member>
+    <Member MemberName="TopTee">
+      <MemberSignature Language="C#" Value="public Rune TopTee;" />
+      <MemberSignature Language="ILAsm" Value=".field public valuetype System.Rune TopTee" />
+      <MemberType>Field</MemberType>
+      <AssemblyInfo>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.Rune</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>
+            Top tee 
+            </summary>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
+    <Member MemberName="ULCorner">
+      <MemberSignature Language="C#" Value="public Rune ULCorner;" />
+      <MemberSignature Language="ILAsm" Value=".field public valuetype System.Rune ULCorner" />
+      <MemberType>Field</MemberType>
+      <AssemblyInfo>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.Rune</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>
+            Upper left corner
+            </summary>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
+    <Member MemberName="UncookMouse">
+      <MemberSignature Language="C#" Value="public abstract void UncookMouse ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void UncookMouse() cil managed" />
+      <MemberType>Method</MemberType>
+      <AssemblyInfo>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters />
+      <Docs>
+        <summary>
+            Disables the cooked event processing from the mouse driver.  At startup, it is assumed mouse events are cooked.
+            </summary>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
+    <Member MemberName="URCorner">
+      <MemberSignature Language="C#" Value="public Rune URCorner;" />
+      <MemberSignature Language="ILAsm" Value=".field public valuetype System.Rune URCorner" />
+      <MemberType>Field</MemberType>
+      <AssemblyInfo>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.Rune</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>
+            Upper right corner
+            </summary>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
+    <Member MemberName="VLine">
+      <MemberSignature Language="C#" Value="public Rune VLine;" />
+      <MemberSignature Language="ILAsm" Value=".field public valuetype System.Rune VLine" />
+      <MemberType>Field</MemberType>
+      <AssemblyInfo>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.Rune</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>
+            Vertical line character.
+            </summary>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
   </Members>
 </Type>

+ 20 - 0
ecmadocs/en/Terminal.Gui/Window.xml

@@ -121,6 +121,26 @@
         <remarks>To be added.</remarks>
       </Docs>
     </Member>
+    <Member MemberName="MouseEvent">
+      <MemberSignature Language="C#" Value="public override bool MouseEvent (Terminal.Gui.MouseEvent me);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool MouseEvent(valuetype Terminal.Gui.MouseEvent me) cil managed" />
+      <MemberType>Method</MemberType>
+      <AssemblyInfo>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="me" Type="Terminal.Gui.MouseEvent" />
+      </Parameters>
+      <Docs>
+        <param name="me">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
     <Member MemberName="Redraw">
       <MemberSignature Language="C#" Value="public override void Redraw (Terminal.Gui.Rect bounds);" />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void Redraw(valuetype Terminal.Gui.Rect bounds) cil managed" />

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.