From 55a452d3a2688e7ae437c29e52f999dfaa198e19 Mon Sep 17 00:00:00 2001 From: SirePi Date: Mon, 8 Jun 2020 22:06:15 +0200 Subject: [PATCH 1/2] Cleanup, changes --- SnowyPeak.Duality.Plugins.YAUI/Appearance.cs | 21 +-- SnowyPeak.Duality.Plugins.YAUI/Border.cs | 36 +--- SnowyPeak.Duality.Plugins.YAUI/CellInfo.cs | 15 +- .../Controls/Button.cs | 6 - .../Controls/CanvasPanel.cs | 10 +- .../Controls/CheckButton.cs | 21 ++- .../Controls/CompositeControl.cs | 5 - .../Controls/Control.cs | 8 +- .../Controls/ControlsContainer.cs | 23 +-- .../Controls/DockPanel.cs | 38 ++-- .../Controls/GridPanel.cs | 9 +- .../Controls/HorizontalScrollBar.cs | 8 - .../Controls/IInteractiveControl.cs | 6 - .../Controls/ILayout.cs | 5 - .../Controls/InteractiveControl.cs | 7 - .../Controls/ListBox.cs | 2 - .../Controls/ProgressBar.cs | 5 - .../Controls/RadioButton.cs | 11 +- .../Controls/Renderer.cs | 6 - .../Controls/ScrollBar.cs | 7 +- .../Controls/Separator.cs | 8 - .../Controls/SpriteBox.cs | 7 - .../Controls/StackPanel.cs | 12 +- .../Controls/TextBlock.cs | 7 - .../Controls/TextBox.cs | 6 - .../Controls/ToggleButton.cs | 9 - .../Controls/VerticalScrollBar.cs | 8 - .../DefaultSkins/Figma.cs | 172 ++++++++++++++++++ .../DefaultSkins/Figma/button-active.png | Bin 0 -> 243 bytes .../DefaultSkins/Figma/button-disabled.png | Bin 0 -> 241 bytes .../DefaultSkins/Figma/button-hover.png | Bin 0 -> 283 bytes .../DefaultSkins/Figma/button-normal.png | Bin 0 -> 237 bytes .../DefaultSkins/Figma/form.png | Bin 0 -> 872 bytes .../DefaultSkins/Figma/glyph-check-active.png | Bin 0 -> 381 bytes .../Figma/glyph-check-disabled.png | Bin 0 -> 464 bytes .../DefaultSkins/Figma/glyph-check-hover.png | Bin 0 -> 346 bytes .../DefaultSkins/Figma/glyph-check-normal.png | Bin 0 -> 308 bytes .../DefaultSkins/Figma/glyph-radio-active.png | Bin 0 -> 480 bytes .../Figma/glyph-radio-disabled.png | Bin 0 -> 601 bytes .../DefaultSkins/Figma/glyph-radio-hover.png | Bin 0 -> 516 bytes .../DefaultSkins/Figma/glyph-radio-normal.png | Bin 0 -> 504 bytes .../Figma/scrollbar-cursor-active.png | Bin 0 -> 480 bytes .../Figma/scrollbar-cursor-disabled.png | Bin 0 -> 601 bytes .../Figma/scrollbar-cursor-hover.png | Bin 0 -> 360 bytes .../Figma/scrollbar-cursor-normal.png | Bin 0 -> 471 bytes .../Figma/scrollbar-horizontal-active.png | Bin 0 -> 137 bytes .../Figma/scrollbar-horizontal-disabled.png | Bin 0 -> 137 bytes .../Figma/scrollbar-horizontal-normal.png | Bin 0 -> 137 bytes .../Figma/scrollbar-vertical-active.png | Bin 0 -> 144 bytes .../Figma/scrollbar-vertical-disabled.png | Bin 0 -> 144 bytes .../Figma/scrollbar-vertical-normal.png | Bin 0 -> 144 bytes .../DefaultSkins/Fonts.cs | 1 + .../DefaultSkins/Manrope-Regular.Font.res | 54 ++++++ SnowyPeak.Duality.Plugins.YAUI/Direction.cs | 6 - SnowyPeak.Duality.Plugins.YAUI/Dock.cs | 7 +- SnowyPeak.Duality.Plugins.YAUI/ImageFill.cs | 7 +- .../ResourceHelper.cs | 63 +++++-- SnowyPeak.Duality.Plugins.YAUI/Size.cs | 9 +- SnowyPeak.Duality.Plugins.YAUI/Skin.cs | 17 +- ...SnowyPeak.Duality.Plugins.YAUI.core.csproj | 37 ++++ ...SnowyPeak.Duality.Plugins.YAUI.core.nuspec | 2 +- .../Templates/ControlTemplate.cs | 12 +- SnowyPeak.Duality.Plugins.YAUI/UI.cs | 19 +- SnowyPeak.Duality.Plugins.YAUI/UIHelper.cs | 29 +-- SnowyPeak.Duality.Plugins.YAUI/UILog.cs | 8 +- .../YAUICorePlugin.cs | 6 +- 66 files changed, 425 insertions(+), 330 deletions(-) create mode 100644 SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma.cs create mode 100644 SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/button-active.png create mode 100644 SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/button-disabled.png create mode 100644 SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/button-hover.png create mode 100644 SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/button-normal.png create mode 100644 SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/form.png create mode 100644 SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/glyph-check-active.png create mode 100644 SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/glyph-check-disabled.png create mode 100644 SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/glyph-check-hover.png create mode 100644 SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/glyph-check-normal.png create mode 100644 SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/glyph-radio-active.png create mode 100644 SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/glyph-radio-disabled.png create mode 100644 SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/glyph-radio-hover.png create mode 100644 SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/glyph-radio-normal.png create mode 100644 SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/scrollbar-cursor-active.png create mode 100644 SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/scrollbar-cursor-disabled.png create mode 100644 SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/scrollbar-cursor-hover.png create mode 100644 SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/scrollbar-cursor-normal.png create mode 100644 SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/scrollbar-horizontal-active.png create mode 100644 SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/scrollbar-horizontal-disabled.png create mode 100644 SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/scrollbar-horizontal-normal.png create mode 100644 SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/scrollbar-vertical-active.png create mode 100644 SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/scrollbar-vertical-disabled.png create mode 100644 SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/scrollbar-vertical-normal.png create mode 100644 SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Manrope-Regular.Font.res diff --git a/SnowyPeak.Duality.Plugins.YAUI/Appearance.cs b/SnowyPeak.Duality.Plugins.YAUI/Appearance.cs index fe1fe13..e69e4f2 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Appearance.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Appearance.cs @@ -1,16 +1,9 @@ // This code is provided under the MIT license. Originally by Alessandro Pilati. using Duality; -using Duality.Drawing; using Duality.Editor; using Duality.Resources; using SnowyPeak.Duality.Plugins.YAUI.Controls; using SnowyPeak.Duality.Plugins.YAUI.Properties; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using System.Text; -using System.Threading.Tasks; namespace SnowyPeak.Duality.Plugins.YAUI { @@ -20,10 +13,10 @@ public class Appearance : Resource { public static readonly Appearance DEFAULT = new Appearance(); - public ContentRef Active; - public ContentRef Disabled; - public ContentRef Hover; - public ContentRef Normal; + public ContentRef Active { get; set; } + public ContentRef Disabled { get; set; } + public ContentRef Hover { get; set; } + public ContentRef Normal { get; set; } public Border Border { get; set; } public Appearance() @@ -39,11 +32,11 @@ public Material this[Control.ControlStatus status] { get { - if ((status & Control.ControlStatus.Disabled) != Control.ControlStatus.None) + if (status.HasFlag(Control.ControlStatus.Disabled)) { return this.Disabled.Res; } - else if ((status & Control.ControlStatus.Active) != Control.ControlStatus.None) + else if (status.HasFlag(Control.ControlStatus.Active)) { return this.Active.Res; } - else if ((status & Control.ControlStatus.Hover) != Control.ControlStatus.None) + else if (status.HasFlag(Control.ControlStatus.Hover)) { return this.Hover.Res; } else { return this.Normal.Res; } diff --git a/SnowyPeak.Duality.Plugins.YAUI/Border.cs b/SnowyPeak.Duality.Plugins.YAUI/Border.cs index ff6beb6..7fe423c 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Border.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Border.cs @@ -1,10 +1,5 @@ // This code is provided under the MIT license. Originally by Alessandro Pilati. using Duality; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace SnowyPeak.Duality.Plugins.YAUI { @@ -12,30 +7,15 @@ public struct Border { public static readonly Border Zero = new Border(0); - public float Bottom; - public float Left; - public float Right; - public float Top; + public float Bottom { get; set; } + public float Left { get; set; } + public float Right { get; set; } + public float Top { get; set; } - public Vector2 BottomRight - { - get { return new Vector2(this.Right, this.Bottom); } - } - - public Vector2 TopLeft - { - get { return new Vector2(this.Left, this.Top); } - } - - public float Horizontal - { - get { return this.Left + this.Right; } - } - - public float Vertical - { - get { return this.Top + this.Bottom; } - } + public Vector2 BottomRight => new Vector2(this.Right, this.Bottom); + public Vector2 TopLeft => new Vector2(this.Left, this.Top); + public float Horizontal => this.Left + this.Right; + public float Vertical => this.Top + this.Bottom; public Border(float value) : this(value, value, value, value) diff --git a/SnowyPeak.Duality.Plugins.YAUI/CellInfo.cs b/SnowyPeak.Duality.Plugins.YAUI/CellInfo.cs index ddf74b4..b7028f6 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/CellInfo.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/CellInfo.cs @@ -1,16 +1,11 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - +// This code is provided under the MIT license. Originally by Alessandro Pilati. namespace SnowyPeak.Duality.Plugins.YAUI { public struct CellInfo { - public int ColSpan; - public int Column; - public int Row; - public int RowSpan; + public int ColSpan { get; set; } + public int Column { get; set; } + public int Row { get; set; } + public int RowSpan { get; set; } } } diff --git a/SnowyPeak.Duality.Plugins.YAUI/Controls/Button.cs b/SnowyPeak.Duality.Plugins.YAUI/Controls/Button.cs index d8e0f69..06c82af 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Controls/Button.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Controls/Button.cs @@ -2,14 +2,8 @@ using Duality; using Duality.Drawing; using Duality.Input; -using Duality.Resources; using SnowyPeak.Duality.Plugins.YAUI.Controls.Configuration; using SnowyPeak.Duality.Plugins.YAUI.Templates; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace SnowyPeak.Duality.Plugins.YAUI.Controls { diff --git a/SnowyPeak.Duality.Plugins.YAUI/Controls/CanvasPanel.cs b/SnowyPeak.Duality.Plugins.YAUI/Controls/CanvasPanel.cs index f27604e..ead98dc 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Controls/CanvasPanel.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Controls/CanvasPanel.cs @@ -1,11 +1,5 @@ // This code is provided under the MIT license. Originally by Alessandro Pilati. using Duality; -using Duality.Drawing; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace SnowyPeak.Duality.Plugins.YAUI.Controls { @@ -16,8 +10,8 @@ public class CanvasPanel : ControlsContainer public Vector2 Offset; #pragma warning restore S1104 // Fields should not have public accessibility - public CanvasPanel(Skin skin = null, string templateName = null) - : base(skin, templateName) + public CanvasPanel(Skin skin = null, string templateName = null, bool drawSelf = true) + : base(skin, templateName, drawSelf) { } internal override void _LayoutControls() diff --git a/SnowyPeak.Duality.Plugins.YAUI/Controls/CheckButton.cs b/SnowyPeak.Duality.Plugins.YAUI/Controls/CheckButton.cs index 04ef38c..56fd988 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Controls/CheckButton.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Controls/CheckButton.cs @@ -5,11 +5,6 @@ using Duality.Resources; using SnowyPeak.Duality.Plugins.YAUI.Controls.Configuration; using SnowyPeak.Duality.Plugins.YAUI.Templates; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace SnowyPeak.Duality.Plugins.YAUI.Controls { @@ -28,6 +23,8 @@ public bool Checked } } + public bool UseToggleStyle { get; set; } + public GlyphConfiguration GlyphConfiguration { get; set; } // Delegates @@ -68,11 +65,23 @@ public override void ApplySkin(Skin skin) this.GlyphConfiguration = this.Template.GlyphConfiguration.Clone(); } + public override void OnUpdate(float msFrame) + { + base.OnUpdate(msFrame); + + if (this.UseToggleStyle) + { + if (this.Checked) this.Status |= ControlStatus.Active; + else this.Status &= ~ControlStatus.Active; + } + } + protected override void _Draw(Canvas canvas, float zOffset) { base._Draw(canvas, zOffset); - if (this.GlyphConfiguration.Glyph.IsAvailable && + if (!this.UseToggleStyle && + this.GlyphConfiguration.Glyph.IsAvailable && this.GlyphConfiguration.Glyph.Res.MainTexture.IsAvailable && this.Checked) { diff --git a/SnowyPeak.Duality.Plugins.YAUI/Controls/CompositeControl.cs b/SnowyPeak.Duality.Plugins.YAUI/Controls/CompositeControl.cs index 9a7b0fd..6bf5176 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Controls/CompositeControl.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Controls/CompositeControl.cs @@ -2,11 +2,6 @@ using Duality; using Duality.Drawing; using SnowyPeak.Duality.Plugins.YAUI.Templates; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace SnowyPeak.Duality.Plugins.YAUI.Controls { diff --git a/SnowyPeak.Duality.Plugins.YAUI/Controls/Control.cs b/SnowyPeak.Duality.Plugins.YAUI/Controls/Control.cs index a36fe26..525b08a 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Controls/Control.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Controls/Control.cs @@ -1,14 +1,10 @@ // This code is provided under the MIT license. Originally by Alessandro Pilati. using Duality; using Duality.Drawing; -using Duality.Input; using Duality.Resources; using SnowyPeak.Duality.Plugins.YAUI.Templates; using System; using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace SnowyPeak.Duality.Plugins.YAUI.Controls { @@ -39,8 +35,8 @@ public enum ControlVisibility public Size Size; #pragma warning restore S1104 // Fields should not have public accessibility - protected const float INNER_ZOFFSET = -0.00001f; - protected const float LAYOUT_ZOFFSET = -0.0001f; + protected const float INNER_ZOFFSET = -0.001f; + protected const float LAYOUT_ZOFFSET = -0.01f; protected readonly RawList vertices = new RawList(36); protected Skin skin; diff --git a/SnowyPeak.Duality.Plugins.YAUI/Controls/ControlsContainer.cs b/SnowyPeak.Duality.Plugins.YAUI/Controls/ControlsContainer.cs index 32c41e8..8dbef54 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Controls/ControlsContainer.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Controls/ControlsContainer.cs @@ -5,20 +5,21 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace SnowyPeak.Duality.Plugins.YAUI.Controls { - public abstract class ControlsContainer : Control, ILayout + public abstract class ControlsContainer : Control, ILayout { public bool IsPassthrough { get; set; } protected readonly List children = new List(); - protected ControlsContainer(Skin skin, string templateName) + protected ControlsContainer(Skin skin, string templateName, bool drawSelf) : base(skin, templateName) - { } + { + if (!drawSelf) + this.Appearance = null; + } protected override void Init() { @@ -42,7 +43,7 @@ public void ApplySkinSingle(Skin skin) public ControlsContainer Add(Control child) { if (this.children.Contains(child)) - { throw new InvalidOperationException(string.Format("Duplicate control {0} in parent {1}", child, this)); } + throw new InvalidOperationException(string.Format("Duplicate control {0} in parent {1}", child, this)); else { // check that I am not introducing a circular ancestry @@ -50,7 +51,7 @@ public ControlsContainer Add(Control child) while (cc != null) { if (cc == child) - { throw new InvalidOperationException(string.Format("Circular ancestry between {0} and {1}", child, this)); } + throw new InvalidOperationException(string.Format("Circular ancestry between {0} and {1}", child, this)); cc = cc.Parent; } @@ -89,10 +90,10 @@ public Control FindHoveredControl(Vector2 position) c.ControlArea.Contains(position)); if (result is ILayout il) - { result = il.FindHoveredControl(position); } + result = il.FindHoveredControl(position); if (result == null && !this.IsPassthrough) - { result = this; } + result = this; return result; } @@ -105,7 +106,7 @@ public IEnumerable GetChildren() where T : Control public void LayoutControls() { foreach (Control c in this.children) - { c.ActualSize = c.Visibility == ControlVisibility.Collapsed ? Size.Zero : c.Size; } + c.ActualSize = c.Visibility == ControlVisibility.Collapsed ? Size.Zero : c.Size; this._LayoutControls(); @@ -123,7 +124,7 @@ public override void OnUpdate(float msFrame) base.OnUpdate(msFrame); foreach (Control c in this.children) - { c.OnUpdate(msFrame); } + c.OnUpdate(msFrame); } public ControlsContainer Remove(Control child) diff --git a/SnowyPeak.Duality.Plugins.YAUI/Controls/DockPanel.cs b/SnowyPeak.Duality.Plugins.YAUI/Controls/DockPanel.cs index aa8e232..0d50e9a 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Controls/DockPanel.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Controls/DockPanel.cs @@ -1,25 +1,18 @@ // This code is provided under the MIT license. Originally by Alessandro Pilati. -using Duality; -using Duality.Drawing; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace SnowyPeak.Duality.Plugins.YAUI.Controls { public sealed class DockPanel : ControlsContainer { - public DockPanel(Skin skin = null, string templateName = null) - : base(skin, templateName) + public DockPanel(Skin skin = null, string templateName = null, bool drawSelf = true) + : base(skin, templateName, drawSelf) { } internal override void _LayoutControls() { Border centralArea = this.Margin; - foreach (Control c in this.children.Where(c => c.Docking != Dock.Center)) + foreach (Control c in this.children) { switch (c.Docking) { @@ -73,20 +66,23 @@ internal override void _LayoutControls() } } - foreach (Control c in this.children.Where(c => c.Docking == Dock.Center)) + foreach (Control c in this.children) { - if (c.StretchToFill) + if (c.Docking == Dock.Center) { - c.ActualSize.X = this.ActualSize.X - centralArea.Left - centralArea.Right; - c.ActualSize.Y = this.ActualSize.Y - centralArea.Top - centralArea.Bottom; + if (c.StretchToFill) + { + c.ActualSize.X = this.ActualSize.X - centralArea.Left - centralArea.Right; + c.ActualSize.Y = this.ActualSize.Y - centralArea.Top - centralArea.Bottom; - c.ActualPosition.X = centralArea.Left; - c.ActualPosition.Y = centralArea.Top; - } - else - { - c.ActualPosition.X = centralArea.Left + ((this.ActualSize.X - centralArea.Left - centralArea.Right - c.ActualSize.X) / 2); - c.ActualPosition.Y = centralArea.Top + ((this.ActualSize.Y - centralArea.Top - centralArea.Bottom - c.ActualSize.Y) / 2); + c.ActualPosition.X = centralArea.Left; + c.ActualPosition.Y = centralArea.Top; + } + else + { + c.ActualPosition.X = centralArea.Left + ((this.ActualSize.X - centralArea.Left - centralArea.Right - c.ActualSize.X) / 2); + c.ActualPosition.Y = centralArea.Top + ((this.ActualSize.Y - centralArea.Top - centralArea.Bottom - c.ActualSize.Y) / 2); + } } } } diff --git a/SnowyPeak.Duality.Plugins.YAUI/Controls/GridPanel.cs b/SnowyPeak.Duality.Plugins.YAUI/Controls/GridPanel.cs index 4c08760..a1be07c 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Controls/GridPanel.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Controls/GridPanel.cs @@ -1,11 +1,8 @@ // This code is provided under the MIT license. Originally by Alessandro Pilati. using Duality; -using Duality.Drawing; using System; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace SnowyPeak.Duality.Plugins.YAUI.Controls { @@ -58,8 +55,8 @@ private IEnumerable ParseDimensions(IEnumerable value) }); } - public GridPanel(Skin skin = null, string templateName = null) - : base(skin, templateName) + public GridPanel(Skin skin = null, string templateName = null, bool drawSelf = true) + : base(skin, templateName, drawSelf) { } internal override void _LayoutControls() @@ -70,7 +67,7 @@ internal override void _LayoutControls() float variableRows = 0; float variableColumns = 0; - foreach(Dimension row in this.rows) + foreach (Dimension row in this.rows) { if (row.IsVariable) variableRows += row.Value; diff --git a/SnowyPeak.Duality.Plugins.YAUI/Controls/HorizontalScrollBar.cs b/SnowyPeak.Duality.Plugins.YAUI/Controls/HorizontalScrollBar.cs index e7af36d..8b04bf5 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Controls/HorizontalScrollBar.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Controls/HorizontalScrollBar.cs @@ -1,13 +1,5 @@ // This code is provided under the MIT license. Originally by Alessandro Pilati. using Duality; -using Duality.Drawing; -using SnowyPeak.Duality.Plugins.YAUI.Controls.Configuration; -using SnowyPeak.Duality.Plugins.YAUI.Templates; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace SnowyPeak.Duality.Plugins.YAUI.Controls { diff --git a/SnowyPeak.Duality.Plugins.YAUI/Controls/IInteractiveControl.cs b/SnowyPeak.Duality.Plugins.YAUI/Controls/IInteractiveControl.cs index 0a2bac3..5a4f0fe 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Controls/IInteractiveControl.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Controls/IInteractiveControl.cs @@ -1,11 +1,5 @@ // This code is provided under the MIT license. Originally by Alessandro Pilati. -using Duality; using Duality.Input; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace SnowyPeak.Duality.Plugins.YAUI.Controls { diff --git a/SnowyPeak.Duality.Plugins.YAUI/Controls/ILayout.cs b/SnowyPeak.Duality.Plugins.YAUI/Controls/ILayout.cs index 6d38c7a..df3bded 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Controls/ILayout.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Controls/ILayout.cs @@ -1,10 +1,5 @@ // This code is provided under the MIT license. Originally by Alessandro Pilati. using Duality; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace SnowyPeak.Duality.Plugins.YAUI.Controls { diff --git a/SnowyPeak.Duality.Plugins.YAUI/Controls/InteractiveControl.cs b/SnowyPeak.Duality.Plugins.YAUI/Controls/InteractiveControl.cs index f8dfa05..612a415 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Controls/InteractiveControl.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Controls/InteractiveControl.cs @@ -1,14 +1,7 @@ // This code is provided under the MIT license. Originally by Alessandro Pilati. using Duality; -using Duality.Drawing; using Duality.Input; -using Duality.Resources; using SnowyPeak.Duality.Plugins.YAUI.Templates; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace SnowyPeak.Duality.Plugins.YAUI.Controls { diff --git a/SnowyPeak.Duality.Plugins.YAUI/Controls/ListBox.cs b/SnowyPeak.Duality.Plugins.YAUI/Controls/ListBox.cs index 18f806d..ca6ac34 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Controls/ListBox.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Controls/ListBox.cs @@ -6,8 +6,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace SnowyPeak.Duality.Plugins.YAUI.Controls { diff --git a/SnowyPeak.Duality.Plugins.YAUI/Controls/ProgressBar.cs b/SnowyPeak.Duality.Plugins.YAUI/Controls/ProgressBar.cs index d893294..aa03df8 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Controls/ProgressBar.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Controls/ProgressBar.cs @@ -4,11 +4,6 @@ using Duality.Resources; using SnowyPeak.Duality.Plugins.YAUI.Controls.Configuration; using SnowyPeak.Duality.Plugins.YAUI.Templates; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace SnowyPeak.Duality.Plugins.YAUI.Controls { diff --git a/SnowyPeak.Duality.Plugins.YAUI/Controls/RadioButton.cs b/SnowyPeak.Duality.Plugins.YAUI/Controls/RadioButton.cs index 08c3f72..e2e3295 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Controls/RadioButton.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Controls/RadioButton.cs @@ -1,14 +1,5 @@ // This code is provided under the MIT license. Originally by Alessandro Pilati. -using Duality; -using Duality.Drawing; using Duality.Input; -using Duality.Resources; -using SnowyPeak.Duality.Plugins.YAUI.Templates; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace SnowyPeak.Duality.Plugins.YAUI.Controls { @@ -42,7 +33,7 @@ private void RadioButton_OnMouseButton(IInteractiveControl button, MouseButtonEv if (args.Button == MouseButton.Left && args.IsPressed) { foreach (RadioButton rb in UIHelper.GetRadioButtonsInGroup(this.RadioGroup)) - { rb.Checked = false; } + rb.Checked = false; this.Checked = true; } diff --git a/SnowyPeak.Duality.Plugins.YAUI/Controls/Renderer.cs b/SnowyPeak.Duality.Plugins.YAUI/Controls/Renderer.cs index a46729f..5a7f424 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Controls/Renderer.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Controls/Renderer.cs @@ -2,12 +2,6 @@ using Duality; using Duality.Drawing; using Duality.Resources; -using SnowyPeak.Duality.Plugins.YAUI.Templates; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace SnowyPeak.Duality.Plugins.YAUI.Controls { diff --git a/SnowyPeak.Duality.Plugins.YAUI/Controls/ScrollBar.cs b/SnowyPeak.Duality.Plugins.YAUI/Controls/ScrollBar.cs index 450a3a0..8bbb928 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Controls/ScrollBar.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Controls/ScrollBar.cs @@ -1,14 +1,9 @@ // This code is provided under the MIT license. Originally by Alessandro Pilati. using Duality; -using Duality.Drawing; using Duality.Input; using SnowyPeak.Duality.Plugins.YAUI.Controls.Configuration; using SnowyPeak.Duality.Plugins.YAUI.Templates; using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace SnowyPeak.Duality.Plugins.YAUI.Controls { @@ -89,6 +84,8 @@ public int Value public bool AllowDrag { get; set; } + public bool AllowButtons { get; set; } + // Delegates public delegate void ValueChangeEventDelegate(ScrollBar scrollBar, int oldValue, int newValue); // Events diff --git a/SnowyPeak.Duality.Plugins.YAUI/Controls/Separator.cs b/SnowyPeak.Duality.Plugins.YAUI/Controls/Separator.cs index c7a3f7e..4024f32 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Controls/Separator.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Controls/Separator.cs @@ -1,12 +1,4 @@ // This code is provided under the MIT license. Originally by Alessandro Pilati. -using Duality; -using Duality.Drawing; -using SnowyPeak.Duality.Plugins.YAUI.Templates; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace SnowyPeak.Duality.Plugins.YAUI.Controls { diff --git a/SnowyPeak.Duality.Plugins.YAUI/Controls/SpriteBox.cs b/SnowyPeak.Duality.Plugins.YAUI/Controls/SpriteBox.cs index e838280..0107763 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Controls/SpriteBox.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Controls/SpriteBox.cs @@ -1,15 +1,8 @@ // This code is provided under the MIT license. Originally by Alessandro Pilati. using Duality; using Duality.Drawing; -using Duality.Input; using Duality.Resources; -using SnowyPeak.Duality.Plugins.YAUI.Controls.Configuration; -using SnowyPeak.Duality.Plugins.YAUI.Templates; using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace SnowyPeak.Duality.Plugins.YAUI.Controls { diff --git a/SnowyPeak.Duality.Plugins.YAUI/Controls/StackPanel.cs b/SnowyPeak.Duality.Plugins.YAUI/Controls/StackPanel.cs index 354b5ff..1e873de 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Controls/StackPanel.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Controls/StackPanel.cs @@ -1,12 +1,4 @@ // This code is provided under the MIT license. Originally by Alessandro Pilati. -using Duality; -using Duality.Drawing; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - namespace SnowyPeak.Duality.Plugins.YAUI.Controls { public sealed class StackPanel : ControlsContainer @@ -20,8 +12,8 @@ public enum Stacking private float start; public Direction Direction { get; set; } - public StackPanel(Skin skin = null, string templateName = null) - : base(skin, templateName) + public StackPanel(Skin skin = null, string templateName = null, bool drawSelf = true) + : base(skin, templateName, drawSelf) { } internal override void _LayoutControls() diff --git a/SnowyPeak.Duality.Plugins.YAUI/Controls/TextBlock.cs b/SnowyPeak.Duality.Plugins.YAUI/Controls/TextBlock.cs index 1f8ccb8..3f441be 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Controls/TextBlock.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Controls/TextBlock.cs @@ -1,15 +1,8 @@ // This code is provided under the MIT license. Originally by Alessandro Pilati. using Duality; using Duality.Drawing; -using Duality.Input; -using Duality.Resources; using SnowyPeak.Duality.Plugins.YAUI.Controls.Configuration; using SnowyPeak.Duality.Plugins.YAUI.Templates; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace SnowyPeak.Duality.Plugins.YAUI.Controls { diff --git a/SnowyPeak.Duality.Plugins.YAUI/Controls/TextBox.cs b/SnowyPeak.Duality.Plugins.YAUI/Controls/TextBox.cs index e9eb1d0..548a2e1 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Controls/TextBox.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Controls/TextBox.cs @@ -2,14 +2,8 @@ using Duality; using Duality.Drawing; using Duality.Input; -using Duality.Resources; using SnowyPeak.Duality.Plugins.YAUI.Controls.Configuration; using SnowyPeak.Duality.Plugins.YAUI.Templates; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace SnowyPeak.Duality.Plugins.YAUI.Controls { diff --git a/SnowyPeak.Duality.Plugins.YAUI/Controls/ToggleButton.cs b/SnowyPeak.Duality.Plugins.YAUI/Controls/ToggleButton.cs index 3ec8ca8..88c8e73 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Controls/ToggleButton.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Controls/ToggleButton.cs @@ -1,15 +1,6 @@ // This code is provided under the MIT license. Originally by Alessandro Pilati. using Duality; -using Duality.Drawing; using Duality.Input; -using Duality.Resources; -using SnowyPeak.Duality.Plugins.YAUI.Controls.Configuration; -using SnowyPeak.Duality.Plugins.YAUI.Templates; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace SnowyPeak.Duality.Plugins.YAUI.Controls { diff --git a/SnowyPeak.Duality.Plugins.YAUI/Controls/VerticalScrollBar.cs b/SnowyPeak.Duality.Plugins.YAUI/Controls/VerticalScrollBar.cs index dc40074..e56cba1 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/Controls/VerticalScrollBar.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/Controls/VerticalScrollBar.cs @@ -1,13 +1,5 @@ // This code is provided under the MIT license. Originally by Alessandro Pilati. using Duality; -using Duality.Drawing; -using SnowyPeak.Duality.Plugins.YAUI.Controls.Configuration; -using SnowyPeak.Duality.Plugins.YAUI.Templates; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace SnowyPeak.Duality.Plugins.YAUI.Controls { diff --git a/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma.cs b/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma.cs new file mode 100644 index 0000000..67799ff --- /dev/null +++ b/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma.cs @@ -0,0 +1,172 @@ +// This code is provided under the MIT license. Originally by Alessandro Pilati. +using Duality; +using Duality.Drawing; +using Duality.Resources; +using SnowyPeak.Duality.Plugins.YAUI.Controls; +using SnowyPeak.Duality.Plugins.YAUI.Controls.Configuration; +using SnowyPeak.Duality.Plugins.YAUI.Templates; + +namespace SnowyPeak.Duality.Plugins.YAUI.DefaultSkins +{ + public sealed class Figma : Skin + { + public static readonly ColorRgba COLOR_ACCENT = new ColorRgba(133, 141, 142); + public static readonly ColorRgba COLOR_BACKGROUND = new ColorRgba(5, 5, 5); + public static readonly ColorRgba COLOR_BRIGHT = new ColorRgba(45, 45, 45); + public static readonly ColorRgba COLOR_CONTROL = new ColorRgba(30, 30, 30); + public static readonly ColorRgba COLOR_DULL = new ColorRgba(20, 20, 20); + public static readonly ColorRgba COLOR_HIGHLIGHT = new ColorRgba(53, 60, 65); + + protected override void Initialize() + { + ContentRef fntFont = ResourceHelper.LoadFont(YAUICorePlugin.YAUIAssembly, Fonts.ManropeRegular); + + this.AddDefaultTemplate(typeof(ControlsContainer), ControlTemplate.Empty); + this.AddDefaultTemplate(typeof(CanvasPanel), ControlTemplate.Empty); + this.AddDefaultTemplate(typeof(DockPanel), ControlTemplate.Empty); + this.AddDefaultTemplate(typeof(GridPanel), ControlTemplate.Empty); + this.AddDefaultTemplate(typeof(StackPanel), ControlTemplate.Empty); + + // layout components + ContentRef matForm = ResourceHelper.GetMaterial(YAUICorePlugin.YAUIAssembly, Skin.Path("Figma.form.png")); + ControlTemplate formTemplate = new ControlTemplate + { + Appearance = new Appearance + { + Active = matForm, + Disabled = matForm, + Hover = matForm, + Normal = matForm, + Border = new Border(20) + }, + MinSize = new Size(40) + }; + this.AddCustomTemplate("form", formTemplate); + + TextTemplate buttonTemplate = new TextTemplate + { + Appearance = new Appearance + { + Active = ResourceHelper.GetMaterial(YAUICorePlugin.YAUIAssembly, Skin.Path("Figma.button-active.png")), + Disabled = ResourceHelper.GetMaterial(YAUICorePlugin.YAUIAssembly, Skin.Path("Figma.button-disabled.png")), + Hover = ResourceHelper.GetMaterial(YAUICorePlugin.YAUIAssembly, Skin.Path("Figma.button-hover.png")), + Normal = ResourceHelper.GetMaterial(YAUICorePlugin.YAUIAssembly, Skin.Path("Figma.button-normal.png")), + Border = new Border(5) + }, + MinSize = new Size(32, 16), + TextConfiguration = new TextConfiguration + { + Font = fntFont, + Alignment = Alignment.Center, + Color = ColorRgba.White, + Margin = new Border(5) + } + }; + this.AddDefaultTemplate(typeof(Button), buttonTemplate); + this.AddDefaultTemplate(typeof(ToggleButton), buttonTemplate); + + GlyphTemplate checkTemplate = new GlyphTemplate(buttonTemplate) + { + GlyphConfiguration = new GlyphConfiguration + { + Alignment = Alignment.Left, + Margin = new Border(5), + Glyph = ResourceHelper.GetMaterial(YAUICorePlugin.YAUIAssembly, Skin.Path("Figma.glyph-check-active.png")) + } + }; + this.AddDefaultTemplate(typeof(CheckButton), checkTemplate); + + GlyphTemplate radioTemplate = new GlyphTemplate(buttonTemplate) + { + GlyphConfiguration = new GlyphConfiguration + { + Alignment = Alignment.Left, + Margin = new Border(5), + Glyph = ResourceHelper.GetMaterial(YAUICorePlugin.YAUIAssembly, Skin.Path("Figma.glyph-radio-active.png")) + } + }; + this.AddDefaultTemplate(typeof(RadioButton), radioTemplate); + + TextTemplate textTemplate = new TextTemplate(buttonTemplate); + this.AddDefaultTemplate(typeof(TextBox), textTemplate); + this.AddDefaultTemplate(typeof(TextBlock), textTemplate); + + ContentRef scrollbarHBaseMaterial = ResourceHelper.GetMaterial(YAUICorePlugin.YAUIAssembly, Skin.Path("Figma.scrollbar-horizontal-normal.png")); + scrollbarHBaseMaterial.Res.Technique = DrawTechnique.Alpha; + ContentRef scrollbarVBaseMaterial = ResourceHelper.GetMaterial(YAUICorePlugin.YAUIAssembly, Skin.Path("Figma.scrollbar-vertical-normal.png")); + scrollbarVBaseMaterial.Res.Technique = DrawTechnique.Alpha; + + ScrollBarTemplate scrollHTemplate = new ScrollBarTemplate + { + Appearance = new Appearance + { + Normal = scrollbarHBaseMaterial, + Hover = scrollbarHBaseMaterial, + Active = ResourceHelper.GetMaterial(YAUICorePlugin.YAUIAssembly, Skin.Path("Figma.scrollbar-horizontal-active.png")), + Disabled = ResourceHelper.GetMaterial(YAUICorePlugin.YAUIAssembly, Skin.Path("Figma.scrollbar-horizontal-disabled.png")), + Border = Border.Zero + }, + MinSize = new Size(16), + ScrollBarConfiguration = new ScrollBarConfiguration + { + CursorAppearance = new Appearance + { + Normal = ResourceHelper.GetMaterial(YAUICorePlugin.YAUIAssembly, Skin.Path("Figma.scrollbar-cursor-normal.png")), + Hover = ResourceHelper.GetMaterial(YAUICorePlugin.YAUIAssembly, Skin.Path("Figma.scrollbar-cursor-hover.png")), + Active = ResourceHelper.GetMaterial(YAUICorePlugin.YAUIAssembly, Skin.Path("Figma.scrollbar-cursor-active.png")), + Disabled = ResourceHelper.GetMaterial(YAUICorePlugin.YAUIAssembly, Skin.Path("Figma.scrollbar-cursor-disabled.png")), + Border = Border.Zero + }, + ButtonDecreaseAppearance = null, + ButtonIncreaseAppearance = null, + ButtonsSize = Size.Zero, + CursorSize = new Size(16) + } + }; + this.AddDefaultTemplate(typeof(HorizontalScrollBar), scrollHTemplate); + + ScrollBarTemplate scrollVTemplate = new ScrollBarTemplate + { + Appearance = new Appearance + { + Normal = scrollbarVBaseMaterial, + Hover = scrollbarVBaseMaterial, + Active = ResourceHelper.GetMaterial(YAUICorePlugin.YAUIAssembly, Skin.Path("Figma.scrollbar-vertical-active.png")), + Disabled = ResourceHelper.GetMaterial(YAUICorePlugin.YAUIAssembly, Skin.Path("Figma.scrollbar-vertical-disabled.png")), + Border = Border.Zero + }, + MinSize = new Size(16), + ScrollBarConfiguration = new ScrollBarConfiguration + { + CursorAppearance = new Appearance + { + Normal = ResourceHelper.GetMaterial(YAUICorePlugin.YAUIAssembly, Skin.Path("Figma.scrollbar-cursor-normal.png")), + Hover = ResourceHelper.GetMaterial(YAUICorePlugin.YAUIAssembly, Skin.Path("Figma.scrollbar-cursor-hover.png")), + Active = ResourceHelper.GetMaterial(YAUICorePlugin.YAUIAssembly, Skin.Path("Figma.scrollbar-cursor-active.png")), + Disabled = ResourceHelper.GetMaterial(YAUICorePlugin.YAUIAssembly, Skin.Path("Figma.scrollbar-cursor-disabled.png")), + Border = Border.Zero + }, + ButtonDecreaseAppearance = null, + ButtonIncreaseAppearance = null, + ButtonsSize = Size.Zero, + CursorSize = new Size(16) + } + }; + this.AddDefaultTemplate(typeof(VerticalScrollBar), scrollVTemplate); + + ListBoxTemplate listTemplate = new ListBoxTemplate + { + Appearance = null, + ListBoxConfiguration = new ListBoxConfiguration + { + ItemAppearance = textTemplate.Appearance, + ItemsSize = new Size(20) + }, + ListBoxMargin = new Border(5), + MinSize = new Size(20), + TextConfiguration = textTemplate.TextConfiguration + }; + this.AddDefaultTemplate(typeof(ListBox), listTemplate); + } + } +} \ No newline at end of file diff --git a/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/button-active.png b/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/button-active.png new file mode 100644 index 0000000000000000000000000000000000000000..ae5d01e875e1c6ccdc991aa960535cd4edc90ff8 GIT binary patch literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1quc!46Ls#}Etu6F&f5JE+B|)Hp zYazpeJM0VYv_Ai+(-)w~wu8~(EXU*y1_$ScG(!V}MvfrUW(FVr#YdX%|8CsE+~Le- z!C=&oa(g1<4eluofy`{(jO+?Nn+`A*#3`t2HZy40H|%9NEwO}Q${7}>fJSDAQFt)Vv@GwZfG+2FZlbi+6O$?r{elF{r5}E+=dQ1rb literal 0 HcmV?d00001 diff --git a/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/button-disabled.png b/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/button-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..f78edff7e2ee3d4e43f3ffbdf2604565e4e6a0c0 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1quc!8T79#}Etux06o`HYo78bc#lFsV0aAD5g#j z(mBd!aN51?=D6<5~ZT!}%XXnf1Iy=WJf^^Atnn3IB|P6^8`W0$ANr ix{H=x+aaHEhS8tLPnDn~ zg?|&}=`T(>Fs*@?A#+;f^rm2CD+b9gDj9q?1l)eU(|*r-PG9IjWrc{Augnjn{Ieep z8oXn^>>pS<$+VflgWp46c#6N7glR&6#DRamp0NikQV?zU((ol{-jtP-W+pUzd2{9f a14B(peyPB;%}0Q4XYh3Ob6Mw<&;$S|hG?e% literal 0 HcmV?d00001 diff --git a/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/button-normal.png b/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/button-normal.png new file mode 100644 index 0000000000000000000000000000000000000000..b96974d48ad0e52ba4cda39244f9cb2eba3c9b2c GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1quc!6r`^#}Etue#sOaeCId2&rOtH;5-lHj6Y&n(4rx#qfzw#Oul||Zh2cFVdQ&MBb@03%jL@Bjb+ literal 0 HcmV?d00001 diff --git a/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/form.png b/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/form.png new file mode 100644 index 0000000000000000000000000000000000000000..02abd68c451df7eaf403185ee5146d6f54f511c7 GIT binary patch literal 872 zcmV-u1DE`XP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0{uxuK~z{r)tO0d z;y@IJ3quG9F+_~J&^O=+=?kzx3J`XEvd#*`uwcWwIYRf6RkK71lNgjR_xmeVR*WsC zfT{i@3;g2XPp<}7Jv%m=4f_gDPftJTH&PCVBSfdkk0_@tk5Z}hgGWx}BuNtcwO+3u z-rnBWVzFSe*^JRSTP~O43dUS67jrtD%g5-d?!Md?38?beB8Xgz8d=4xj|N=(I~4{s}2z|p@~lub_fFeKJJ72iI53P zNxK9k`$SEW=!13&N~CBmmm7$XjzN+}@m~xQy9FhIzhVgjJ zFx`n$jxLET_If>Wc3m(Z=ks~J*>y>Jk|eLy%-i6BK?l|X94?7IFr7|$KoyWp**Cc) zWsolxR6;CTc;DobSjnh}Oq{dTYCY44PSMEb0hPcbv(acIk;!{iGf7hsqs4RzlF8L- z^$}GJEPm(+aYh-#V4;<`=RRjeEz$G2yNZSQ(+2Tdgbd9s!G-t-@mRVzy99xy zB(O_#pCGVo?$4l)qV$2v!nwg9p~KV%x7jNRP~AWYrrYhFrJrIx4hDmKHaVn*evqUD zvZ!>RkZ{UAUCQCXQ7jgBX74jcNlH*zKtVyidBAoU8UDOi!h#j+R1)F~1w4zfM!5Lf y2P;VUnLh66z&jkndmQ?0EU15z*caa8F!m4Z@23tyD07Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0TM|>K~y+Tm6I__ z#6T2=-_36l_;?-SzCSfZsg=IHs5aVgvII@g>rWXs{p7_o_jyh});M826S zgVN!`C@C&oZ!-8~Bwm<-lf$PX?`k_4AM1`7dNh1{~jQWi$V&q)@85-7kaACSo82h(j{yte^%f z`PdMB%H>1hNV>WOW*w3NPU5SpCu8mJgCbk#zE${u!xUYqTpwg?i$of!d*{VX_Jlt% b*PQJD=qq3x{c2e_00000NkvXXu0mjfu?3?8 literal 0 HcmV?d00001 diff --git a/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/glyph-check-disabled.png b/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/glyph-check-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..90f1ba6cb353618999b888331db9ab5b3d0130cc GIT binary patch literal 464 zcmV;>0WbcEP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0cA-k2BM)YzHj8&5ozKt znJ_c&ecyXCo$4Bq=XvD1?xST{7rL%H*kgua7-uIAhr@H%b@yqSZgq%#-+!&^+TQJU z2##sSz_ZkXSRb`R(Ns!|eEymQ}aQk#D z`2{?uqM8sQ6jIE~s*@Ixbys zm1)wPNCk1jFiuC9GHrX#kbZ@~1~?ZBRS_F3=EiQ42EpVb9C^D=Lxuinxw)a z4BNKlo}h~FQ54CAyj40E!yQaJ0gJ@~5Aa2_ZF>`jVZU51r890;g~i+rx=oTqi{rSb zf8?FqU9Z=%<2W0te$B@L5WxUX9rLlf59<1j3g2c~w*3OaYtF`1t%hI#0000c7v literal 0 HcmV?d00001 diff --git a/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/glyph-check-hover.png b/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/glyph-check-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..0efcf39b33ee587512da1c27ad2c4982ce4564d3 GIT binary patch literal 346 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1quc!S|jnjv*HQ$tes>oj>o3N=QUL`=6d*z`(`P zaO4Byf?d2l|0B8LRgCNsSTg^eKT#C-;tdmHVH4`5P^RVdaB`5s(&Ap1poMGj|ic;PqPktyaO+Ua=Qp9k7t!#p4P{V<# zrV8sN3>qzb_J6RJmS%X#*eZU5!Rx>Z#^yr|2}wUb^!Ku#Qk6UKr6K51EB`LV1U}6N zn`f~f{{R2KnUUe2|C4{5(|CB;eSzYF9w&~5D|^iS5-NC4`S9ehet5%kX5!xkHH=}c n>eMOro`AE@^Y89bEqH&=w#~l&Uqk2vCLJ9eo}!{6o~WoO`Gy#0HHC}yUtfhX zE?{IaZD#P`J)tzA)!|*u1V+Ywd3!eRNlfqV@8@5{Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0d+}4K~y+Tjgv7> z0#Oi#XLc8C3?VeqX!Zak+Sq6#iG_{9E9?p61PY!2Pq0_e*jSioqm2!Py+oU}F~pb< z1TxM)JaAn=`KmYbX6DV#{L7S~91r${$5=L~SN+llaXf;*JG6rUiWG#KV85Cp{jP^H=Jo8`R354oibZ8IM`tI1$LJP!}f%E)7i$^ zwm(fwQ^=3IO2h2cyzIB*wMA4)**ghsh-p5)++hyrB8wJ~U&45L*Cj0g!%Ty9dLne` zY@>cZn%f0@*hCtrQ)j>z&Ni^B{j1^hH6%VHV!qim`c0e4T0Cf}_K(fEB-;7;Ta>HY z5c?D~@I7|31c*fr&Q<`LhPF`^_Fo`o@*lvSS-MGE)d_+9Xhb>~Hs+N?xx29s5PbtN W^N2F7T_-L80000) literal 0 HcmV?d00001 diff --git a/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/glyph-radio-disabled.png b/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/glyph-radio-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..1f198c974f3aac7307b1fb71494a1dcca9ae0044 GIT binary patch literal 601 zcmV-f0;c_mP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0q#jeK~y+TbyGWw zT2T<5dwhV38sY5+jt!xD$MY>cWS=cgFvIGSGfe>M{ z7B-SCTpuVRzBAv!V~#iO2jjix%*;2RGjk0xp;oKCvfJ(Ntyb#`A;crxZ8n=f+wJyd zxm;e9%jFvxxW|E@TCF~2Tsj<%^KQ3Gyd;{5{U!_gTecLzn=t&fYaymUGjy$)oRgdwK^my z;N36`=|cfl;Agd8;WO&>`g51d^{d%zo~*1xkwQs6pQp)W@>=lWW2e(OR94Ux0QwoR z=o8~DH(JEU&)zv0cgPo+{)$*I2qL*+~+BUc$Y z@LBNFXf)=zT<#N-WFwKtQ?*o!#X=^c$>DIAve_(1ehdbKmq#Cy4qojP2Yq0B#umaI nCdHrfPkw$bl}g`apajuh?0E?Wp2^cr00000NkvXXu0mjfK}riY literal 0 HcmV?d00001 diff --git a/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/glyph-radio-hover.png b/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/glyph-radio-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..0fca48965ea652eb39cb829f333b1da0cf6a0bf8 GIT binary patch literal 516 zcmV+f0{i`mP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0hvieK~y+TrBgjj z!e9`+ue7j~pQtfiOc)G{7>S#cva!Ly;wFisiH>f<<|v6fjt(U1#-?sgrin~yB5uTh zRB2+$-{^bL^dPwM@ag3Tf@S%sJEZ)Dh3~@&a=`E_-jfc6D&56aM zz$B0B$28FNq?o{$pSnKsTnu26@J(5W%QFgRY$?#ZcT?UG5+XCEq!poJ!v6;XRc?q! zrHKE5AmBBzTldvF;0+i|;hfIev6LJ34j2pW6dJJ8mv~mL#w!Map`l=HrJmC+`kG#B ztZcdI-_e4lb)$&8kRm#y=3iqevnfa>O@hu(tGm>S3oDBn#Kw<_dU?&RZ^Kwv?T0@g zvMqG77P8d$>qQig9n&aaZMYK#gGYu@UW3@s3%@*!0YvZW2&k_#;ssd%0000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0gXvSK~y+TrIRsk z!axv3$2MS@0xVGil3f@I3R_fZkOCKgE93@gsbY)5Z8%1{koHyjRQXeZ7AT-ViA zRejp+c8^gM(PFWn^?EIArBaE?VR zMLwUWMx#N7VT9Z5wu>M#4A?o2V`n;@{^<-jJHiIo2tLpx-}enpHJVH&SDi0GCcRz{ zV;32?^ZEQ{XMjvlr~Q6EKmdEWT&9)`pvbZ;_YuHZtyZa;f#V4oqKN+i0b)Mebd~}1 z1{2EMWpA}wO^8`I2jCWcHBFOpxtuWE0@k9T7*FQj4p6$FGLZ! zE!}#(9wNxKOklHZ`_#%VGzG692tGTV&P%0I(W=$z9U2Ajr4b{FjNfdx+obFIn4KTK uU8YOW+B_h-&5r|(iBW9S3%`8S7@{w4WT1YDNF`tZ0000Ym literal 0 HcmV?d00001 diff --git a/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/scrollbar-cursor-active.png b/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/scrollbar-cursor-active.png new file mode 100644 index 0000000000000000000000000000000000000000..b5c714c21f5e565cf0f339f19506d6f5165812a7 GIT binary patch literal 480 zcmV<60U!Q}P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0d+}4K~y+Tjgv7> z0#Oi#XLc8C3?VeqX!Zak+Sq6#iG_{9E9?p61PY!2Pq0_e*jSioqm2!Py+oU}F~pb< z1TxM)JaAn=`KmYbX6DV#{L7S~91r${$5=L~SN+llaXf;*JG6rUiWG#KV85Cp{jP^H=Jo8`R354oibZ8IM`tI1$LJP!}f%E)7i$^ zwm(fwQ^=3IO2h2cyzIB*wMA4)**ghsh-p5)++hyrB8wJ~U&45L*Cj0g!%Ty9dLne` zY@>cZn%f0@*hCtrQ)j>z&Ni^B{j1^hH6%VHV!qim`c0e4T0Cf}_K(fEB-;7;Ta>HY z5c?D~@I7|31c*fr&Q<`LhPF`^_Fo`o@*lvSS-MGE)d_+9Xhb>~Hs+N?xx29s5PbtN W^N2F7T_-L80000) literal 0 HcmV?d00001 diff --git a/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/scrollbar-cursor-disabled.png b/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/scrollbar-cursor-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..4f5fd55c3199e15ba76c6943df22f79c5517d231 GIT binary patch literal 601 zcmV-f0;c_mP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!THSz(Wf|^?BKpZ){lmq(%5mfXGbfjZPP6Z*PS)=GWZ_-EPx%yVV^ea90#X z=n#N2aC5fT&?(hwHDR;aZd(ZBpxu5W5D4g`$Rv}=&|d} zQyFa0C&n9Yv>Khy=R$!9_c=?Tu`&zXd0Njv@MyVQiW+hL25E;0Va%e5{{xj5WNx)u zwao7o z8aY8%tJNCZ$SfA=KFH349QQ;bLA*%c^7;G=(L`S1*DM&v<8hIREJs3ShRDfeQmit3 zpfljnY&KWvbowKcq(Y(4W4To8^;$Th$-!WdQmGV38k5Q7`Pt8O3SR9v8@=cAl#dTG nOp1Ty8-9N(6bfI2p#ae@y&UhL^x1~b00000NkvXXu0mjfmZlJK literal 0 HcmV?d00001 diff --git a/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/scrollbar-cursor-hover.png b/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/scrollbar-cursor-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..f07475be8dddc32b13d94a9cbae58c7b1cff22a2 GIT binary patch literal 360 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBufiR<}hF1en@UN$fV~B|C(zE$opQ%yB%5In)M z!O1LvIe~eGg7yIx11GbFNt5_o6(sGG|4ls6xqjDkYiqmbvX`arelii5BxuarY2obC zp{2IYBWiQ)L2K(5ces}8-z8h~8fa(pT?=EF*S39j zNt5yRa)#Xgmy(;e?Gk3Iu5c-nFniXj9iQCrg6Y}8xQ=5>wwwY61cRrmpUXO@geCwN C7KP{l literal 0 HcmV?d00001 diff --git a/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/scrollbar-cursor-normal.png b/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/scrollbar-cursor-normal.png new file mode 100644 index 0000000000000000000000000000000000000000..3d97855ed05c0c06bd60a949ecb2ab507e2239eb GIT binary patch literal 471 zcmV;|0Vw{7P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!T;&^7be_5k1(77k1#ioxY3=k(~ZFs$PwfOas+N5i3{9e;_oP=tyeVI z69?s6byZhYS69Cl=Nv-zx|7tw9f_a;NR2*?7zktl7q>?lh8E~q6sUHwQ<2HJ08Mi& zL8CjlOWNZMPqeLoPrlRSLyP(ccBDn>EE3V-PhKgRFqS#C-o1IRL6Uph@$7E_`DKcY zH6YgLaSm*r_3`lH1Lio?wS&0jO@qntRf_HPSu&|sWv3MAED0tFd;>x@kQ`_W!5shq N002ovPDHLkV1l^W&1?Vw literal 0 HcmV?d00001 diff --git a/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/scrollbar-horizontal-active.png b/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/scrollbar-horizontal-active.png new file mode 100644 index 0000000000000000000000000000000000000000..8d7b7e16cbc99ea40dac92d744874562b4be41bc GIT binary patch literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucK{-zs#}EtuWC_;8j0RphKmN*}QsXvod>Lpk ciIJI^LEC|8+vcWVDWFOQPgg&ebxsLQ01#;*k^lez literal 0 HcmV?d00001 diff --git a/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/scrollbar-horizontal-disabled.png b/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Figma/scrollbar-horizontal-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..b6e7f5dd48f4934f66bc393d957932bb4816e769 GIT binary patch literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucK{-zs#}EtuWC_;8j0SElE`QoLon-O}s1oT( cIdFi1Vc85O?%rDxra+Ypp00i_>zopr05@mdKI;Vst0D>_l<^TWy literal 0 HcmV?d00001 diff --git a/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Fonts.cs b/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Fonts.cs index 21d333f..18625f2 100644 --- a/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Fonts.cs +++ b/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Fonts.cs @@ -8,6 +8,7 @@ namespace SnowyPeak.Duality.Plugins.YAUI.DefaultSkins { internal static class Fonts { + public static string ManropeRegular = "SnowyPeak.Duality.Plugins.YAUI.DefaultSkins.Manrope-Regular.Font.res"; public static string RobotoRegular = "SnowyPeak.Duality.Plugins.YAUI.DefaultSkins.Roboto-Regular.Font.res"; public static string NotoSansRegular = "SnowyPeak.Duality.Plugins.YAUI.DefaultSkins.NotoSans-Regular.Font.res"; } diff --git a/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Manrope-Regular.Font.res b/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Manrope-Regular.Font.res new file mode 100644 index 0000000..8f0c3cc --- /dev/null +++ b/SnowyPeak.Duality.Plugins.YAUI/DefaultSkins/Manrope-Regular.Font.res @@ -0,0 +1,54 @@ + + + +
+ + 12 +