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; }
///