wasSharpNET – Diff between revs 11 and 12

Subversion Repositories:
Rev:
Only display areas with differencesIgnore whitespace
Rev 11 Rev 12
1 /////////////////////////////////////////////////////////////////////////// 1 ///////////////////////////////////////////////////////////////////////////
2 // Copyright (C) Wizardry and Steamworks 2016 - License: GNU GPLv3 // 2 // Copyright (C) Wizardry and Steamworks 2016 - License: GNU GPLv3 //
3 // Please see: http://www.gnu.org/licenses/gpl.html for legal details, // 3 // Please see: http://www.gnu.org/licenses/gpl.html for legal details, //
4 // rights of fair usage, the disclaimer and warranty conditions. // 4 // rights of fair usage, the disclaimer and warranty conditions. //
5 /////////////////////////////////////////////////////////////////////////// 5 ///////////////////////////////////////////////////////////////////////////
6   6  
7 using System; 7 using System;
8 using System.Collections.Generic; 8 using System.Collections.Generic;
9 using System.Linq; 9 using System.Linq;
10   10  
11 namespace wasSharpNET.Console 11 namespace wasSharpNET.Console
12 { 12 {
13 public static class ConsoleExtensions 13 public static class ConsoleExtensions
14 { 14 {
15 public enum ConsoleTextAlignment 15 public enum ConsoleTextAlignment
16 { 16 {
17 TOP_LEFT, 17 TOP_LEFT,
18 TOP_CENTER, 18 TOP_CENTER,
19 TOP_RIGHT 19 TOP_RIGHT
20 } 20 }
21   21  
22 public static void WriteLine(this object data, ConsoleColor foreground, 22 public static void WriteLine(this object data, ConsoleColor foreground,
23 ConsoleColor background) 23 ConsoleColor background)
24 { 24 {
25 var cFG = System.Console.ForegroundColor; 25 var cFG = System.Console.ForegroundColor;
26 var cBG = System.Console.BackgroundColor; 26 var cBG = System.Console.BackgroundColor;
27 System.Console.ForegroundColor = foreground; 27 System.Console.ForegroundColor = foreground;
28 System.Console.BackgroundColor = background; 28 System.Console.BackgroundColor = background;
29 System.Console.WriteLine(data); 29 System.Console.WriteLine(data);
30 System.Console.ForegroundColor = cFG; 30 System.Console.ForegroundColor = cFG;
31 System.Console.BackgroundColor = cBG; 31 System.Console.BackgroundColor = cBG;
32 } 32 }
33   33  
34 public static void WriteLine(this object data, ConsoleColor foreground) 34 public static void WriteLine(this object data, ConsoleColor foreground)
35 { 35 {
36 var cFG = System.Console.ForegroundColor; 36 var cFG = System.Console.ForegroundColor;
37 System.Console.ForegroundColor = foreground; 37 System.Console.ForegroundColor = foreground;
38 System.Console.WriteLine(data); 38 System.Console.WriteLine(data);
39 System.Console.ForegroundColor = cFG; 39 System.Console.ForegroundColor = cFG;
40 } 40 }
-   41  
-   42 public static void WriteLine(this object data)
-   43 {
-   44 System.Console.WriteLine(data);
-   45 }
41   46  
42 public static void Write(this object data, ConsoleColor foreground, 47 public static void Write(this object data, ConsoleColor foreground,
43 ConsoleColor background) 48 ConsoleColor background)
44 { 49 {
45 var cFG = System.Console.ForegroundColor; 50 var cFG = System.Console.ForegroundColor;
46 var cBG = System.Console.BackgroundColor; 51 var cBG = System.Console.BackgroundColor;
47 System.Console.ForegroundColor = foreground; 52 System.Console.ForegroundColor = foreground;
48 System.Console.BackgroundColor = background; 53 System.Console.BackgroundColor = background;
49 System.Console.Write(data); 54 System.Console.Write(data);
50 System.Console.ForegroundColor = cFG; 55 System.Console.ForegroundColor = cFG;
51 System.Console.BackgroundColor = cBG; 56 System.Console.BackgroundColor = cBG;
52 } 57 }
-   58  
-   59 public static void Write(this object data, ConsoleColor foreground)
-   60 {
-   61 var cFG = System.Console.ForegroundColor;
-   62 System.Console.ForegroundColor = foreground;
-   63 System.Console.Write(data);
-   64 System.Console.ForegroundColor = cFG;
-   65 }
53   66  
54 public static void WriteLine(this object data, ConsoleTextAlignment alignment) 67 public static void WriteLine(this object data, ConsoleTextAlignment alignment)
55 { 68 {
56 switch (alignment) 69 switch (alignment)
57 { 70 {
58 case ConsoleTextAlignment.TOP_CENTER: 71 case ConsoleTextAlignment.TOP_CENTER:
59 System.Console.CursorLeft = Math.Max(System.Console.WindowWidth / 2 - data.ToString().Length / 2, 0); 72 System.Console.CursorLeft = Math.Max(System.Console.WindowWidth / 2 - data.ToString().Length / 2, 0);
60 WriteLine(data, System.Console.ForegroundColor, System.Console.BackgroundColor); 73 System.Console.WriteLine(data);
61 break; 74 break;
62   75  
63 default: 76 default:
64 throw new NotImplementedException(); 77 throw new NotImplementedException();
65 } 78 }
66 } 79 }
67   80  
68 public static void WriteLine(this object data, ConsoleTextAlignment alignment, ConsoleColor foregroundColor) 81 public static void WriteLine(this object data, ConsoleTextAlignment alignment, ConsoleColor foregroundColor)
69 { 82 {
70 switch (alignment) 83 switch (alignment)
71 { 84 {
72 case ConsoleTextAlignment.TOP_CENTER: 85 case ConsoleTextAlignment.TOP_CENTER:
73 System.Console.CursorLeft = Math.Max(System.Console.WindowWidth / 2 - data.ToString().Length / 2, 0); 86 System.Console.CursorLeft = Math.Max(System.Console.WindowWidth / 2 - data.ToString().Length / 2, 0);
-   87 WriteLine(data, foregroundColor);
-   88 break;
-   89  
-   90 case ConsoleTextAlignment.TOP_LEFT:
74 WriteLine(data, foregroundColor, System.Console.BackgroundColor); 91 WriteLine(data, foregroundColor);
75 break; 92 break;
76   93  
77 default: 94 default:
78 throw new NotImplementedException(); 95 throw new NotImplementedException();
79 } 96 }
80 } 97 }
81   98  
82 public static void Write(this object data, ConsoleTextAlignment alignment) 99 public static void Write(this object data, ConsoleTextAlignment alignment)
83 { 100 {
84 switch (alignment) 101 switch (alignment)
85 { 102 {
86 case ConsoleTextAlignment.TOP_CENTER: 103 case ConsoleTextAlignment.TOP_CENTER:
87 System.Console.CursorLeft = Math.Max(System.Console.WindowWidth / 2 - data.ToString().Length / 2, 0); 104 System.Console.CursorLeft = Math.Max(System.Console.WindowWidth / 2 - data.ToString().Length / 2, 0);
-   105 System.Console.Write(data);
-   106 break;
-   107  
-   108 case ConsoleTextAlignment.TOP_LEFT:
88 Write(data, System.Console.ForegroundColor, System.Console.BackgroundColor); 109 System.Console.Write(data);
89 break; 110 break;
90   111  
91 default: 112 default:
92 throw new NotImplementedException(); 113 throw new NotImplementedException();
93 } 114 }
94 } 115 }
95   116  
96 public static void WriteLine(this IEnumerable<object> data, ConsoleTextAlignment alignment) 117 public static void WriteLine(this IEnumerable<object> data, ConsoleTextAlignment alignment)
97 { 118 {
98 switch (alignment) 119 switch (alignment)
99 { 120 {
100 case ConsoleTextAlignment.TOP_CENTER: 121 case ConsoleTextAlignment.TOP_CENTER:
101 var textBlock = data.Select(o => o.ToString()).ToArray(); 122 var textBlock = data.Select(o => o.ToString()).ToArray();
102 var padding = Math.Max(System.Console.WindowWidth / 2 - textBlock.Select(o => o.Length).Max() / 2, 0); 123 var padding = Math.Max(System.Console.WindowWidth / 2 - textBlock.Select(o => o.Length).Max() / 2, 0);
103 foreach (var line in data) 124 foreach (var line in data)
104 { 125 {
105 System.Console.CursorLeft = padding; 126 System.Console.CursorLeft = padding;
106 WriteLine(line, System.Console.ForegroundColor, System.Console.BackgroundColor); 127 WriteLine(line, System.Console.ForegroundColor);
-   128 }
-   129 break;
-   130  
-   131 case ConsoleTextAlignment.TOP_LEFT:
-   132 foreach (var line in data)
-   133 {
-   134 WriteLine(line, System.Console.ForegroundColor);
107 } 135 }
108 break; 136 break;
109   137  
110 default: 138 default:
111 throw new NotImplementedException(); 139 throw new NotImplementedException();
112 } 140 }
113 } 141 }
114 } 142 }
115 } 143 }
116   144