5#include "CoreMinimal.h"
6#include "Styling/SlateStyle.h"
7#include "Styling/SlateTypes.h"
9#include "HtmlElementStyle.generated.h"
12struct FHtmlElementStyle
18 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = SlateStyleRules, meta = (AllowedClasses = "Font", DisplayName = "Font Family", editcondition = "bOverride_FontObject"))
19 const UObject* FontObject =
nullptr;
22 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = SlateStyleRules, meta = (DisplayName = "Typeface", editcondition = "bOverride_TypefaceFontName"))
23 FName TypefaceFontName;
30 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = SlateStyleRules, meta = (ClampMin = 1, ClampMax = 1000, editcondition = "bOverride_Size"))
34 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = SlateStyleRules, meta = (ClampMin = -1000, ClampMax = 10000, editcondition = "bOverride_LetterSpacing"))
35 int32 LetterSpacing = 0;
38 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Appearance, meta = (DisplayName = "Color", editcondition = "bOverride_ColorAndOpacity"))
39 FSlateColor ColorAndOpacity = FLinearColor::White;
42 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Appearance, meta = (editcondition = "bOverride_StrikeBrush"))
43 FSlateBrush StrikeBrush;
46 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Appearance, meta = (editcondition = "bOverride_UnderlineBrush"))
47 FSlateBrush UnderlineBrush;
50 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = SlateStyleRules, meta = (AllowedClasses = "MaterialInterface", editcondition = "bOverride_FontMaterial"))
51 UObject* FontMaterial =
nullptr;
54 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = SlateStyleRules, meta = (editcondition = "bOverride_OutlineSettings"))
55 FFontOutlineSettings OutlineSettings;
58 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Appearance, meta = (editcondition = "bOverride_ShadowOffset"))
59 FVector2D ShadowOffset = FVector2D::ZeroVector;
62 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Appearance, meta = (editcondition = "bOverride_ShadowColorAndOpacity"))
63 FLinearColor ShadowColorAndOpacity = FLinearColor{ForceInit};
66 UPROPERTY(EditAnywhere, Category = Appearance, meta = (editcondition =
"bOverride_SelectedBackgroundColor"))
67 FSlateColor SelectedBackgroundColor;
70 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Appearance, meta = (editcondition = "bOverride_HighlightColor"))
71 FLinearColor HighlightColor = FLinearColor{ForceInit};
74 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Appearance, meta = (editcondition =
"bOverride_HighlightShape"))
75 FSlateBrush HighlightShape;
77 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
78 uint8 bOverride_FontObject : 1;
80 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
81 uint8 bOverride_FontMaterial : 1;
83 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
84 uint8 bOverride_OutlineSettings : 1;
86 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
87 uint8 bOverride_TypefaceFontName : 1;
89 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
90 uint8 bOverride_Size : 1;
92 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
93 uint8 bOverride_LetterSpacing : 1;
95 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
96 uint8 bOverride_ColorAndOpacity : 1;
98 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
99 uint8 bOverride_ShadowOffset : 1;
101 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
102 uint8 bOverride_ShadowColorAndOpacity : 1;
104 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
105 uint8 bOverride_SelectedBackgroundColor : 1;
107 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
108 uint8 bOverride_HighlightColor : 1;
110 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
111 uint8 bOverride_HighlightShape : 1;
113 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
114 uint8 bOverride_StrikeBrush : 1;
116 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
117 uint8 bOverride_UnderlineBrush : 1;
120void Combine(FTextBlockStyle& TargetTextBlockStyle, const FHtmlElementStyle& OverridingStyle);
122USTRUCT(BlueprintType)
123struct FHtmlElementStyles
127 FTextBlockStyle MakeCombinedStyle(const TArray<FName>& Tags) const;
128 const FHtmlElementStyle* GetStyle(const FName& Tag) const;
131 UPROPERTY(EditAnywhere, Category = Styles)
132 FTextBlockStyle Default;
135 UPROPERTY(EditAnywhere, Category = Styles)
136 FHtmlElementStyle Strong;
139 UPROPERTY(EditAnywhere, Category = Styles)
140 FHtmlElementStyle Em;
143 UPROPERTY(EditAnywhere, Category = Styles)
144 FHtmlElementStyle Del;
147 UPROPERTY(EditAnywhere, Category = Styles)
151 UPROPERTY(EditAnywhere, Category = Styles)
152 FHtmlElementStyle H1;
155 UPROPERTY(EditAnywhere, Category = Styles)
156 FHtmlElementStyle H2;
159 UPROPERTY(EditAnywhere, Category = Styles)
160 FHtmlElementStyle H3;
163 UPROPERTY(EditAnywhere, Category = Styles)
164 FHtmlElementStyle H4;
167 UPROPERTY(EditAnywhere, Category = Styles)
168 FHtmlElementStyle H5;
171 UPROPERTY(EditAnywhere, Category = Styles)
172 FHtmlElementStyle H6;
175 UPROPERTY(EditAnywhere, Category = Styles)
176 FHtmlElementStyle Code;
179 UPROPERTY(EditAnywhere, Category = Styles)
180 FHtmlElementStyle Li;
183 UPROPERTY(EditAnywhere, Category = Styles)
184 FInlineTextImageStyle HorizontalRule;