diff options
| author | Michael <[email protected]> | 2017-07-26 09:59:48 -0400 |
|---|---|---|
| committer | Michael <[email protected]> | 2017-07-26 09:59:48 -0400 |
| commit | 74d0790ab3b91d0a46db526f2599d6bf26172377 (patch) | |
| tree | 9dc783b84a8b677c5c7020e0e584964ff9995f83 /ShiftOS.Frontend/GUI | |
| parent | c9b183a0e00720905a0da75a7d20770070a4f61d (diff) | |
| download | shiftos_thereturn-74d0790ab3b91d0a46db526f2599d6bf26172377.tar.gz shiftos_thereturn-74d0790ab3b91d0a46db526f2599d6bf26172377.tar.bz2 shiftos_thereturn-74d0790ab3b91d0a46db526f2599d6bf26172377.zip | |
skin loading and fullscreen toggle in options
Diffstat (limited to 'ShiftOS.Frontend/GUI')
| -rw-r--r-- | ShiftOS.Frontend/GUI/CheckBox.cs | 57 |
1 files changed, 57 insertions, 0 deletions
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; + } +} |
