diff --git a/Source/Editor/CustomEditors/Editors/GenericEditor.cs b/Source/Editor/CustomEditors/Editors/GenericEditor.cs
index 4ca761634..a7ea235f2 100644
--- a/Source/Editor/CustomEditors/Editors/GenericEditor.cs
+++ b/Source/Editor/CustomEditors/Editors/GenericEditor.cs
@@ -715,7 +715,7 @@ namespace FlaxEditor.CustomEditors.Editors
// Header
if (item.Header != null)
- itemLayout.Header(item.Header.Text);
+ itemLayout.Header(item.Header);
try
{
diff --git a/Source/Editor/CustomEditors/LayoutElementsContainer.cs b/Source/Editor/CustomEditors/LayoutElementsContainer.cs
index 0c9b01942..29d7cf359 100644
--- a/Source/Editor/CustomEditors/LayoutElementsContainer.cs
+++ b/Source/Editor/CustomEditors/LayoutElementsContainer.cs
@@ -274,6 +274,16 @@ namespace FlaxEditor.CustomEditors
return element;
}
+ internal LabelElement Header(HeaderAttribute header)
+ {
+ var element = Header(header.Text);
+ if (header.FontSize != -1)
+ element.Label.Font = new FontReference(element.Label.Font.Font, header.FontSize);
+ if (header.Color != 0)
+ element.Label.TextColor = Color.FromRGBA(header.Color);
+ return element;
+ }
+
///
/// Adds new text box element.
///
diff --git a/Source/Editor/Surface/SurfaceUtils.cs b/Source/Editor/Surface/SurfaceUtils.cs
index 014459694..d53049b16 100644
--- a/Source/Editor/Surface/SurfaceUtils.cs
+++ b/Source/Editor/Surface/SurfaceUtils.cs
@@ -317,7 +317,7 @@ namespace FlaxEditor.Surface
// Header
if (e.Header != null)
- itemLayout.Header(e.Header.Text);
+ itemLayout.Header(e.Header);
// Values container
var valueType = new ScriptType(e.Type);
diff --git a/Source/Editor/Surface/VisjectSurfaceWindow.cs b/Source/Editor/Surface/VisjectSurfaceWindow.cs
index 6ae949000..733cd2682 100644
--- a/Source/Editor/Surface/VisjectSurfaceWindow.cs
+++ b/Source/Editor/Surface/VisjectSurfaceWindow.cs
@@ -410,7 +410,7 @@ namespace FlaxEditor.Surface
// Header
var header = (HeaderAttribute)attributes.FirstOrDefault(x => x is HeaderAttribute);
if (header != null)
- itemLayout.Header(header.Text);
+ itemLayout.Header(header);
var propertyValue = new CustomValueContainer
(
diff --git a/Source/Engine/Scripting/Attributes/Editor/HeaderAttribute.cs b/Source/Engine/Scripting/Attributes/Editor/HeaderAttribute.cs
index e994fe26a..3f0ce57d0 100644
--- a/Source/Engine/Scripting/Attributes/Editor/HeaderAttribute.cs
+++ b/Source/Engine/Scripting/Attributes/Editor/HeaderAttribute.cs
@@ -17,6 +17,16 @@ namespace FlaxEngine
///
public string Text;
+ ///
+ /// The custom header font size.
+ ///
+ public int FontSize;
+
+ ///
+ /// The custom header color (as 32-bit uint).
+ ///
+ public uint Color;
+
private HeaderAttribute()
{
}
@@ -25,9 +35,13 @@ namespace FlaxEngine
/// Initializes a new instance of the class.
///
/// The header text.
- public HeaderAttribute(string text)
+ /// The header text font size (-1 to use default which is 14).
+ /// The header color (as 32-bit uint, 0 to use default).
+ public HeaderAttribute(string text, int fontSize = -1, uint color = 0)
{
Text = text;
+ FontSize = fontSize;
+ Color = color;
}
}
}