// ReSharper disable once UnusedParameter.Local private static Control <char, Color, Keyboard.Key> CreatePage4(RenderWindow renderWindow) { var borderTheme = new BorderTheme <char>('*', '-', '*', '|', '*', '-', '*', '|'); var colorTheme1 = new ColorTheme <Color>(Color.Black, Color.Transparent); var colorTheme2 = new ColorTheme <Color>(Color.Black, Color.White); var grid = new Grid <char, Color, Keyboard.Key> { Left = 1, Top = 1, Width = 30, Height = 20 }; grid.Columns.Add(1); grid.Columns.Add(2); grid.Rows.Add(1); grid.Rows.Add(1); grid.OnKeyboardInput += (control, args) => { if (args.Input == Keyboard.Key.Escape) { ControlUtils <char, Color, Keyboard.Key> .FindParent <Pages <char, Color, Keyboard.Key> >(control).Page = 0; } }; var border = new Border <char, Color, Keyboard.Key> { BorderTheme = borderTheme, ColorTheme = colorTheme1 }; border.OnFocusChanged += (s, a) => s.ColorTheme = a.NewValue ? colorTheme2 : colorTheme1; grid.Controls.Add(border); border = new Border <char, Color, Keyboard.Key> { BorderTheme = borderTheme, ColorTheme = colorTheme1 }; border.OnFocusChanged += (s, a) => s.ColorTheme = a.NewValue ? colorTheme2 : colorTheme1; grid.Controls.Add(border); border = new Border <char, Color, Keyboard.Key> { BorderTheme = borderTheme, ColorTheme = colorTheme1 }; border.OnFocusChanged += (s, a) => s.ColorTheme = a.NewValue ? colorTheme2 : colorTheme1; grid.Controls.Add(border); var label = new Label <char, Color, Keyboard.Key> { Delimiter = Environment.NewLine, Text = "Press escape to return to page #1." }; border = new Border <char, Color, Keyboard.Key> { BorderTheme = borderTheme, ColorTheme = colorTheme1 }; border.Controls.Add(label); border.OnFocusChanged += (s, a) => s.ColorTheme = a.NewValue ? colorTheme2 : colorTheme1; grid.Controls.Add(border); return(grid); }
public ConsoleGlyphProvider() { CrateGlyph = '¤'; TargetGlyph = '·'; WallGlyph = '█'; PlayerGlyph = '@'; EllipsisGlyph = '~'; SelectionGlyph = '>'; Delimiter = Environment.NewLine.ToArray(); MainMenuBorderTheme = new BorderTheme <char>('╔', '═', '╗', '║', '╝', '═', '╚', '║'); }
public SfmlGlyphProvider() { CrateGlyph = new Glyph(15, 15); TargetGlyph = new Glyph(9, 15); WallGlyph = new Glyph(8, 0); PlayerGlyph = new Glyph(2, 0); EllipsisGlyph = new Glyph(14, 7); SelectionGlyph = new ColorAwareGlyph(14, 3, Color.White, Color.Transparent); Delimiter = new[] { new Glyph(-1, -1) }; MainMenuBorderTheme = new BorderTheme <Glyph>( new Glyph(9, 12), new Glyph(13, 12), new Glyph(11, 11), new Glyph(10, 11), new Glyph(12, 11), new Glyph(13, 12), new Glyph(8, 12), new Glyph(10, 11)); }
private static void Drawing(ITerminal <TGlyph, TColor> terminal, int left, int top, int width, int height, BorderTheme <TGlyph> borderTheme, ColorTheme <TColor> colorTheme) { terminal.Draw(left, top, borderTheme.TopLeft, colorTheme.Foreground, colorTheme.Background); terminal.DrawLine(left + 1, top, left + width - 2, top, borderTheme.Top, colorTheme.Foreground, colorTheme.Background); terminal.Draw(left + width - 1, top, borderTheme.TopRight, colorTheme.Foreground, colorTheme.Background); terminal.DrawLine(left + width - 1, top + 1, left + width - 1, top + height - 2, borderTheme.Right, colorTheme.Foreground, colorTheme.Background); terminal.Draw(left + width - 1, top + height - 1, borderTheme.BottomRight, colorTheme.Foreground, colorTheme.Background); terminal.DrawLine(left + width - 2, top + height - 1, left + 1, top + height - 1, borderTheme.Bottom, colorTheme.Foreground, colorTheme.Background); terminal.Draw(left, top + height - 1, borderTheme.BottomLeft, colorTheme.Foreground, colorTheme.Background); terminal.DrawLine(left, top + height - 2, left, top + 1, borderTheme.Left, colorTheme.Foreground, colorTheme.Background); }