From 74d0790ab3b91d0a46db526f2599d6bf26172377 Mon Sep 17 00:00:00 2001 From: Michael Date: Wed, 26 Jul 2017 09:59:48 -0400 Subject: skin loading and fullscreen toggle in options --- ShiftOS.Frontend/GUI/CheckBox.cs | 57 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 ShiftOS.Frontend/GUI/CheckBox.cs (limited to 'ShiftOS.Frontend/GUI') diff --git a/ShiftOS.Frontend/GUI/CheckBox.cs b/ShiftOS.Frontend/GUI/CheckBox.cs new file mode 100644 index 0000000..070967a --- /dev/null +++ b/ShiftOS.Frontend/GUI/CheckBox.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using ShiftOS.Frontend.GraphicsSubsystem; +using ShiftOS.Engine; +using static ShiftOS.Engine.SkinEngine; +namespace ShiftOS.Frontend.GUI +{ + public class CheckBox : GUI.Control + { + public CheckBox() + { + Width = 24; + Height = 24; + Click += () => + { + Checked = !_checked; + }; + } + + private bool _checked = false; + + public bool Checked + { + get + { + return _checked; + } + set + { + if (value == _checked) + return; + _checked = value; + CheckedChanged?.Invoke(); + Invalidate(); + } + } + + protected override void OnPaint(GraphicsContext gfx) + { + gfx.DrawRectangle(0, 0, Width, Height, UIManager.SkinTextures["ControlTextColor"]); + if (_checked) + { + gfx.DrawRectangle(1, 1, Width - 2, Height - 2, UIManager.SkinTextures["ControlTextColor"]); + } + else + { + gfx.DrawRectangle(1, 1, Width - 2, Height - 2, UIManager.SkinTextures["ControlColor"]); + + } + } + + public event Action CheckedChanged; + } +} -- cgit v1.2.3