Stream Chat Unreal SDK
Loading...
Searching...
No Matches
HtmlElementStyle.h
1// Copyright 2022 Stream.IO, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Styling/SlateStyle.h"
7#include "Styling/SlateTypes.h"
8
9#include "HtmlElementStyle.generated.h"
10
11USTRUCT(BlueprintType)
12struct FHtmlElementStyle
13{
14 GENERATED_BODY()
15 FHtmlElementStyle();
16
18 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = SlateStyleRules, meta = (AllowedClasses = "Font", DisplayName = "Font Family", editcondition = "bOverride_FontObject"))
19 const UObject* FontObject = nullptr;
20
22 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = SlateStyleRules, meta = (DisplayName = "Typeface", editcondition = "bOverride_TypefaceFontName"))
23 FName TypefaceFontName;
24
30 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = SlateStyleRules, meta = (ClampMin = 1, ClampMax = 1000, editcondition = "bOverride_Size"))
31 int32 Size = 24;
32
34 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = SlateStyleRules, meta = (ClampMin = -1000, ClampMax = 10000, editcondition = "bOverride_LetterSpacing"))
35 int32 LetterSpacing = 0;
36
38 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Appearance, meta = (DisplayName = "Color", editcondition = "bOverride_ColorAndOpacity"))
39 FSlateColor ColorAndOpacity = FLinearColor::White;
40
42 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Appearance, meta = (editcondition = "bOverride_StrikeBrush"))
43 FSlateBrush StrikeBrush;
44
46 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Appearance, meta = (editcondition = "bOverride_UnderlineBrush"))
47 FSlateBrush UnderlineBrush;
48
50 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = SlateStyleRules, meta = (AllowedClasses = "MaterialInterface", editcondition = "bOverride_FontMaterial"))
51 UObject* FontMaterial = nullptr;
52
54 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = SlateStyleRules, meta = (editcondition = "bOverride_OutlineSettings"))
55 FFontOutlineSettings OutlineSettings;
56
58 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Appearance, meta = (editcondition = "bOverride_ShadowOffset"))
59 FVector2D ShadowOffset = FVector2D::ZeroVector;
60
62 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Appearance, meta = (editcondition = "bOverride_ShadowColorAndOpacity"))
63 FLinearColor ShadowColorAndOpacity = FLinearColor{ForceInit};
64
66 UPROPERTY(EditAnywhere, Category = Appearance, meta = (editcondition = "bOverride_SelectedBackgroundColor"))
67 FSlateColor SelectedBackgroundColor;
68
70 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Appearance, meta = (editcondition = "bOverride_HighlightColor"))
71 FLinearColor HighlightColor = FLinearColor{ForceInit};
72
74 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Appearance, meta = (editcondition = "bOverride_HighlightShape"))
75 FSlateBrush HighlightShape;
76
77 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
78 uint8 bOverride_FontObject : 1;
79
80 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
81 uint8 bOverride_FontMaterial : 1;
82
83 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
84 uint8 bOverride_OutlineSettings : 1;
85
86 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
87 uint8 bOverride_TypefaceFontName : 1;
88
89 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
90 uint8 bOverride_Size : 1;
91
92 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
93 uint8 bOverride_LetterSpacing : 1;
94
95 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
96 uint8 bOverride_ColorAndOpacity : 1;
97
98 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
99 uint8 bOverride_ShadowOffset : 1;
100
101 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
102 uint8 bOverride_ShadowColorAndOpacity : 1;
103
104 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
105 uint8 bOverride_SelectedBackgroundColor : 1;
106
107 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
108 uint8 bOverride_HighlightColor : 1;
109
110 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
111 uint8 bOverride_HighlightShape : 1;
112
113 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
114 uint8 bOverride_StrikeBrush : 1;
115
116 UPROPERTY(EditAnywhere, Category = Appearance, meta = (InlineEditConditionToggle))
117 uint8 bOverride_UnderlineBrush : 1;
118};
119
120void Combine(FTextBlockStyle& TargetTextBlockStyle, const FHtmlElementStyle& OverridingStyle);
121
122USTRUCT(BlueprintType)
123struct FHtmlElementStyles
124{
125 GENERATED_BODY()
126
127 FTextBlockStyle MakeCombinedStyle(const TArray<FName>& Tags) const;
128 const FHtmlElementStyle* GetStyle(const FName& Tag) const;
129
131 UPROPERTY(EditAnywhere, Category = Styles)
132 FTextBlockStyle Default;
133
135 UPROPERTY(EditAnywhere, Category = Styles)
136 FHtmlElementStyle Strong;
137
139 UPROPERTY(EditAnywhere, Category = Styles)
140 FHtmlElementStyle Em;
141
143 UPROPERTY(EditAnywhere, Category = Styles)
144 FHtmlElementStyle Del;
145
147 UPROPERTY(EditAnywhere, Category = Styles)
148 FHtmlElementStyle A;
149
151 UPROPERTY(EditAnywhere, Category = Styles)
152 FHtmlElementStyle H1;
153
155 UPROPERTY(EditAnywhere, Category = Styles)
156 FHtmlElementStyle H2;
157
159 UPROPERTY(EditAnywhere, Category = Styles)
160 FHtmlElementStyle H3;
161
163 UPROPERTY(EditAnywhere, Category = Styles)
164 FHtmlElementStyle H4;
165
167 UPROPERTY(EditAnywhere, Category = Styles)
168 FHtmlElementStyle H5;
169
171 UPROPERTY(EditAnywhere, Category = Styles)
172 FHtmlElementStyle H6;
173
175 UPROPERTY(EditAnywhere, Category = Styles)
176 FHtmlElementStyle Code;
177
179 UPROPERTY(EditAnywhere, Category = Styles)
180 FHtmlElementStyle Li;
181
183 UPROPERTY(EditAnywhere, Category = Styles)
184 FInlineTextImageStyle HorizontalRule;
185};