// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
namespace FlaxEngine.GUI
{
///
/// The styling descriptor for the text block.
///
public struct TextBlockStyle
{
///
/// Text block alignments modes.
///
public enum Alignments
{
///
/// Block will be aligned to the baseline of the text (vertically).
///
Baseline,
///
/// Block will be aligned to the top edge of the line (vertically).
///
Top = 1,
///
/// Block will be aligned to center of the line (vertically).
///
Middle = 2,
///
/// Block will be aligned to the bottom edge of the line (vertically).
///
Bottom = 4,
///
/// Block will be aligned to the left edge of the layout (horizontally).
///
Left = 8,
///
/// Block will be aligned to center of the layout (horizontally).
///
Center = 16,
///
/// Block will be aligned to the right edge of the layout (horizontally).
///
Right = 32,
///
/// Mask with vertical alignment flags.
///
[HideInEditor]
VerticalMask = Top | Middle | Bottom,
///
/// Mask with horizontal alignment flags.
///
[HideInEditor]
HorizontalMask = Left | Center | Right,
}
///
/// The text font.
///
[EditorOrder(0)]
public FontReference Font;
///
/// The custom material for the text rendering (must be GUI domain).
///
[EditorOrder(10)]
public MaterialBase CustomMaterial;
///
/// The text color (tint and opacity).
///
[EditorOrder(20)]
public Color Color;
///
/// The text shadow color (tint and opacity). Set to transparent to disable shadow drawing.
///
[EditorOrder(30)]
public Color ShadowColor;
///
/// The text shadow offset from the text location. Set to zero to disable shadow drawing.
///
[EditorOrder(40)]
public Float2 ShadowOffset;
///
/// The background brush for the text range.
///
[EditorOrder(45)]
public IBrush BackgroundBrush;
///
/// The background brush for the selected text range.
///
[EditorOrder(50)]
public IBrush BackgroundSelectedBrush;
///
/// The underline line brush.
///
[EditorOrder(60)]
public IBrush UnderlineBrush;
///
/// The text block alignment.
///
[EditorOrder(100)]
public Alignments Alignment;
}
}