diff --git a/Source/Engine/UI/GUI/Common/Button.cs b/Source/Engine/UI/GUI/Common/Button.cs index 88ee0437e..b50f3dd46 100644 --- a/Source/Engine/UI/GUI/Common/Button.cs +++ b/Source/Engine/UI/GUI/Common/Button.cs @@ -84,17 +84,23 @@ namespace FlaxEngine.GUI /// [EditorDisplay("Border Style"), EditorOrder(2010), ExpandGroups] public bool HasBorder { get; set; } = true; + + /// + /// Gets or sets the border thickness. + /// + [EditorDisplay("Border Style"), EditorOrder(2011), Limit(0)] + public float BorderThickness { get; set; } = 1.0f; /// /// Gets or sets the color of the border. /// - [EditorDisplay("Border Style"), EditorOrder(2011), ExpandGroups] + [EditorDisplay("Border Style"), EditorOrder(2012)] public Color BorderColor { get; set; } /// /// Gets or sets the border color when button is highlighted. /// - [EditorDisplay("Border Style"), EditorOrder(2012)] + [EditorDisplay("Border Style"), EditorOrder(2013)] public Color BorderColorHighlighted { get; set; } /// @@ -252,7 +258,7 @@ namespace FlaxEngine.GUI else Render2D.FillRectangle(clientRect, backgroundColor); if (HasBorder) - Render2D.DrawRectangle(clientRect, borderColor); + Render2D.DrawRectangle(clientRect, borderColor, BorderThickness); // Draw text Render2D.DrawText(_font?.GetFont(), TextMaterial, _text, clientRect, textColor, TextAlignment.Center, TextAlignment.Center); diff --git a/Source/Engine/UI/GUI/Common/CheckBox.cs b/Source/Engine/UI/GUI/Common/CheckBox.cs index 939708f36..2f1ff42a9 100644 --- a/Source/Engine/UI/GUI/Common/CheckBox.cs +++ b/Source/Engine/UI/GUI/Common/CheckBox.cs @@ -107,17 +107,29 @@ namespace FlaxEngine.GUI CacheBox(); } } + + /// + /// Gets or sets whether to have a border. + /// + [EditorDisplay("Border Style"), EditorOrder(2010), Tooltip("Whether to have a border."), ExpandGroups] + public bool HasBorder { get; set; } = true; + + /// + /// Gets or sets the border thickness. + /// + [EditorDisplay("Border Style"), EditorOrder(2011), Tooltip("The thickness of the border."), Limit(0)] + public float BorderThickness { get; set; } = 1.0f; /// /// Gets or sets the color of the border. /// - [EditorDisplay("Border Style"), EditorOrder(2010), ExpandGroups] + [EditorDisplay("Border Style"), EditorOrder(2012)] public Color BorderColor { get; set; } /// /// Gets or sets the border color when checkbox is hovered. /// - [EditorDisplay("Border Style"), EditorOrder(2011)] + [EditorDisplay("Border Style"), EditorOrder(2013)] public Color BorderColorHighlighted { get; set; } /// @@ -221,12 +233,15 @@ namespace FlaxEngine.GUI bool enabled = EnabledInHierarchy; // Border - Color borderColor = BorderColor; - if (!enabled) - borderColor *= 0.5f; - else if (_isPressed || _mouseOverBox || IsNavFocused) - borderColor = BorderColorHighlighted; - Render2D.DrawRectangle(_box.MakeExpanded(-2.0f), borderColor); + if (HasBorder) + { + Color borderColor = BorderColor; + if (!enabled) + borderColor *= 0.5f; + else if (_isPressed || _mouseOverBox || IsNavFocused) + borderColor = BorderColorHighlighted; + Render2D.DrawRectangle(_box.MakeExpanded(-2.0f), borderColor, BorderThickness); + } // Icon if (_state != CheckBoxState.Default) diff --git a/Source/Engine/UI/GUI/Common/TextBox.cs b/Source/Engine/UI/GUI/Common/TextBox.cs index 5ec86a94e..ee4f744a6 100644 --- a/Source/Engine/UI/GUI/Common/TextBox.cs +++ b/Source/Engine/UI/GUI/Common/TextBox.cs @@ -155,7 +155,8 @@ namespace FlaxEngine.GUI if (IsMouseOver || IsNavFocused) backColor = BackgroundSelectedColor; Render2D.FillRectangle(rect, backColor); - Render2D.DrawRectangle(rect, IsFocused ? BorderSelectedColor : BorderColor); + if (HasBorder) + Render2D.DrawRectangle(rect, IsFocused ? BorderSelectedColor : BorderColor, BorderThickness); // Apply view offset and clip mask if (ClipText) diff --git a/Source/Engine/UI/GUI/Common/TextBoxBase.cs b/Source/Engine/UI/GUI/Common/TextBoxBase.cs index a4ccbe5d2..d7906c176 100644 --- a/Source/Engine/UI/GUI/Common/TextBoxBase.cs +++ b/Source/Engine/UI/GUI/Common/TextBoxBase.cs @@ -270,16 +270,28 @@ namespace FlaxEngine.GUI [EditorDisplay("Background Style"), EditorOrder(2002), Tooltip("The speed of the selection background flashing animation.")] public float BackgroundSelectedFlashSpeed { get; set; } = 6.0f; + /// + /// Gets or sets whether to have a border. + /// + [EditorDisplay("Border Style"), EditorOrder(2010), Tooltip("Whether to have a border."), ExpandGroups] + public bool HasBorder { get; set; } = true; + + /// + /// Gets or sets the border thickness. + /// + [EditorDisplay("Border Style"), EditorOrder(2011), Tooltip("The thickness of the border."), Limit(0)] + public float BorderThickness { get; set; } = 1.0f; + /// /// Gets or sets the color of the border (Transparent if not used). /// - [EditorDisplay("Border Style"), EditorOrder(2010), Tooltip("The color of the border (Transparent if not used)."), ExpandGroups] + [EditorDisplay("Border Style"), EditorOrder(2012), Tooltip("The color of the border (Transparent if not used).")] public Color BorderColor { get; set; } /// /// Gets or sets the color of the border when control is focused (Transparent if not used). /// - [EditorDisplay("Border Style"), EditorOrder(2011), Tooltip("The color of the border when control is focused (Transparent if not used)")] + [EditorDisplay("Border Style"), EditorOrder(2013), Tooltip("The color of the border when control is focused (Transparent if not used)")] public Color BorderSelectedColor { get; set; } ///