UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SlateStyle.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
8#include "Layout/Margin.h"
9#include "Sound/SlateSound.h"
11#include "Styling/ISlateStyle.h"
19
20class UTexture2D;
22
28{
29public:
37
40
41 SLATECORE_API virtual const FName& GetStyleSetName() const override;
43 SLATECORE_API virtual TArray<FName> GetEntriesUsingBrush(const FName BrushName) const override;
44 SLATECORE_API virtual void SetContentRoot(const FString& InContentRootDir);
45 SLATECORE_API virtual FString RootToContentDir(const ANSICHAR* RelativePath, const TCHAR* Extension);
46 SLATECORE_API virtual FString RootToContentDir(const WIDECHAR* RelativePath, const TCHAR* Extension);
47 SLATECORE_API virtual FString RootToContentDir(const FString& RelativePath, const TCHAR* Extension);
48 SLATECORE_API virtual FString RootToContentDir(const ANSICHAR* RelativePath);
49 SLATECORE_API virtual FString RootToContentDir(const WIDECHAR* RelativePath);
50 SLATECORE_API virtual FString RootToContentDir(const FString& RelativePath);
51 virtual FString GetContentRootDir() const { return ContentRootDir; }
52
53 SLATECORE_API virtual void SetCoreContentRoot(const FString& InCoreContentRootDir);
54
55 SLATECORE_API virtual FString RootToCoreContentDir(const ANSICHAR* RelativePath, const TCHAR* Extension);
56 SLATECORE_API virtual FString RootToCoreContentDir(const WIDECHAR* RelativePath, const TCHAR* Extension);
57 SLATECORE_API virtual FString RootToCoreContentDir(const FString& RelativePath, const TCHAR* Extension);
58 SLATECORE_API virtual FString RootToCoreContentDir(const ANSICHAR* RelativePath);
59 SLATECORE_API virtual FString RootToCoreContentDir(const WIDECHAR* RelativePath);
60 SLATECORE_API virtual FString RootToCoreContentDir(const FString& RelativePath);
61
62 SLATECORE_API virtual float GetFloat(const FName PropertyName, const ANSICHAR* Specifier = nullptr, float DefaultValue = FStyleDefaults::GetFloat(), const ISlateStyle* RequestingStyle = nullptr) const override;
64 SLATECORE_API virtual const FLinearColor& GetColor(const FName PropertyName, const ANSICHAR* Specifier = nullptr, const FLinearColor& DefaultValue = FStyleDefaults::GetColor(), const ISlateStyle* RequestingStyle = nullptr) const override;
65 SLATECORE_API virtual const FSlateColor GetSlateColor(const FName PropertyName, const ANSICHAR* Specifier = nullptr, const FSlateColor& DefaultValue = FStyleDefaults::GetSlateColor(), const ISlateStyle* RequestingStyle = nullptr) const override;
66 SLATECORE_API virtual const FMargin& GetMargin(const FName PropertyName, const ANSICHAR* Specifier = nullptr, const FMargin& DefaultValue = FStyleDefaults::GetMargin(), const ISlateStyle* RequestingStyle = nullptr) const override;
67
68 SLATECORE_API virtual const FSlateBrush* GetBrush(const FName PropertyName, const ANSICHAR* Specifier = nullptr, const ISlateStyle* RequestingStyle = nullptr) const override;
69 SLATECORE_API virtual const FSlateBrush* GetOptionalBrush(const FName PropertyName, const ANSICHAR* Specifier = nullptr, const FSlateBrush* const DefaultBrush = FStyleDefaults::GetNoBrush()) const override;
70
71 SLATECORE_API virtual const TSharedPtr<FSlateDynamicImageBrush> GetDynamicImageBrush(const FName BrushTemplate, const FName TextureName, const ANSICHAR* Specifier = nullptr, const ISlateStyle* RequestingStyle = nullptr) const override;
72 SLATECORE_API virtual const TSharedPtr<FSlateDynamicImageBrush> GetDynamicImageBrush(const FName BrushTemplate, const ANSICHAR* Specifier, UTexture2D* TextureResource, const FName TextureName, const ISlateStyle* RequestingStyle = nullptr) const override;
73 SLATECORE_API virtual const TSharedPtr<FSlateDynamicImageBrush> GetDynamicImageBrush(const FName BrushTemplate, UTexture2D* TextureResource, const FName TextureName, const ISlateStyle* RequestingStyle = nullptr) const override;
74
75 SLATECORE_API virtual FSlateBrush* GetDefaultBrush() const override;
76
77 SLATECORE_API virtual const FSlateSound& GetSound(const FName PropertyName, const ANSICHAR* Specifier = nullptr, const ISlateStyle* RequestingStyle = nullptr) const override;
78 SLATECORE_API virtual FSlateFontInfo GetFontStyle(const FName PropertyName, const ANSICHAR* Specifier = nullptr) const override;
79
82public:
83
84 template< typename DefinitionType >
91
102
119 FORCENOINLINE void Set(const FName PropertyName, const FVector2f& InVector)
120 {
122 Vector2DValues.Add(PropertyName, InVector);
123 }
124
130 FORCENOINLINE void Set(const FName PropertyName, const FLinearColor& InColor)
131 {
133 ColorValues.Add(PropertyName, InColor);
134 }
135
136 FORCENOINLINE void Set(const FName PropertyName, const FColor& InColor)
137 {
139 ColorValues.Add(PropertyName, InColor);
140 }
141
147 FORCENOINLINE void Set(const FName PropertyName, const FSlateColor& InColor)
148 {
150 SlateColorValues.Add(PropertyName, InColor);
151 }
152
163
169 template<typename BrushType>
171 {
172 // @TODO: This scope may not work, the memory was allocated from the caller not in this scope
173 // Need some way to capure in parent scope?
176 }
188
200
201protected:
202
203 friend class FSlateStyleSet;
204 friend class ISlateStyle;
205
206 SLATECORE_API virtual const FSlateWidgetStyle* GetWidgetStyleInternal(const FName DesiredTypeName, const FName StyleName, const FSlateWidgetStyle* DefaultStyle, bool bWarnIfNotFound) const override;
207
208 SLATECORE_API virtual void Log(ISlateStyle::EStyleMessageSeverity Severity, const FText& Message) const override;
209
210 SLATECORE_API virtual void LogMissingResource(EStyleMessageSeverity Severity, const FText& Message, const FName& MissingResource) const override;
211
212 SLATECORE_API virtual const TSharedPtr< FSlateDynamicImageBrush > MakeDynamicImageBrush(const FName BrushTemplate, UTexture2D* TextureResource, const FName TextureName) const override;
213
215
216 SLATECORE_API virtual TSet<FName> GetStyleKeys() const override;
217
218 SLATECORE_API virtual const TSet<FName>& GetWidgetStyleNames() const override;
219
220protected:
221
222 SLATECORE_API bool IsBrushFromFile(const FString& FilePath, const FSlateBrush* Brush);
223
226
229
232
235
238
241
244
247
250
251 /* FSlateBrush property storage */
254
257
260
263
266
269};
270
#define FORCENOINLINE
Definition AndroidPlatform.h:142
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::WIDECHAR WIDECHAR
A wide character. Normally a signed type.
Definition Platform.h:1133
FPlatformTypes::ANSICHAR ANSICHAR
An ANSI character. Normally a signed type.
Definition Platform.h:1131
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define LLM_SCOPE_BYTAG(...)
Definition LowLevelMemTracker.h:1099
#define UE_SLATE_VECTOR_DEPRECATED_DEFAULT()
Definition SlateVector2.h:48
#define RootToContentDir
Definition TestStyle.cpp:16
Definition NameTypes.h:617
Definition SlateStyle.h:28
virtual SLATECORE_API const FSlateSound & GetSound(const FName PropertyName, const ANSICHAR *Specifier=nullptr, const ISlateStyle *RequestingStyle=nullptr) const override
Definition SlateStyleSet.cpp:405
virtual SLATECORE_API const FSlateBrush * GetOptionalBrush(const FName PropertyName, const ANSICHAR *Specifier=nullptr, const FSlateBrush *const DefaultBrush=FStyleDefaults::GetNoBrush()) const override
Definition SlateStyleSet.cpp:332
SLATECORE_API FSlateStyleSet(FSlateStyleSet &&)
FORCENOINLINE void Set(const FName PropertyName, const FLinearColor &InColor)
Definition SlateStyle.h:130
virtual FString GetContentRootDir() const
Definition SlateStyle.h:51
friend class FSlateStyleSet
Definition SlateStyle.h:203
TMap< FName, FSlateFontInfo > FontInfoResources
Definition SlateStyle.h:259
TSet< FName > KnownWidgetStyles
Definition SlateStyle.h:234
virtual SLATECORE_API FSlateBrush * GetDefaultBrush() const override
Definition SlateStyleSet.cpp:400
TMap< FName, float > FloatValues
Definition SlateStyle.h:237
virtual SLATECORE_API void LogUnusedBrushResources()
Definition SlateStyleSet.cpp:607
virtual SLATECORE_API const TSet< FName > & GetWidgetStyleNames() const override
Definition SlateStyleSet.cpp:544
SLATECORE_API FSlateStyleSet(const FSlateStyleSet &)
virtual SLATECORE_API ~FSlateStyleSet()
Definition SlateStyleSet.cpp:29
virtual SLATECORE_API void SetCoreContentRoot(const FString &InCoreContentRootDir)
Definition SlateStyleSet.cpp:135
FString CoreContentRootDir
Definition SlateStyle.h:231
FORCENOINLINE void Set(const FName PropertyName, const FColor &InColor)
Definition SlateStyle.h:136
FORCENOINLINE void Set(const FName PropertyName, const float InFloat)
Definition SlateStyle.h:97
FName StyleSetName
Definition SlateStyle.h:225
FORCENOINLINE void Set(FName PropertyName, const FSlateFontInfo &InFontInfo)
Definition SlateStyle.h:195
FSlateBrush * DefaultBrush
Definition SlateStyle.h:252
TMap< FName, FSlateColor > SlateColorValues
Definition SlateStyle.h:246
FName ParentStyleName
Definition SlateStyle.h:267
SLATECORE_API const ISlateStyle * GetParentStyle() const
Definition SlateStyleSet.cpp:175
TMap< FName, FSlateBrush * > BrushResources
Definition SlateStyle.h:253
TSet< FName > MissingResources
Definition SlateStyle.h:265
FORCENOINLINE void Set(const FName PropertyName, const FSlateColor &InColor)
Definition SlateStyle.h:147
virtual SLATECORE_API const FMargin & GetMargin(const FName PropertyName, const ANSICHAR *Specifier=nullptr, const FMargin &DefaultValue=FStyleDefaults::GetMargin(), const ISlateStyle *RequestingStyle=nullptr) const override
Definition SlateStyleSet.cpp:276
virtual SLATECORE_API FSlateFontInfo GetFontStyle(const FName PropertyName, const ANSICHAR *Specifier=nullptr) const override
Definition SlateStyleSet.cpp:427
FORCENOINLINE void Set(FName PropertyName, const FSlateSound &InSound)
Definition SlateStyle.h:183
virtual SLATECORE_API const FSlateWidgetStyle * GetWidgetStyleInternal(const FName DesiredTypeName, const FName StyleName, const FSlateWidgetStyle *DefaultStyle, bool bWarnIfNotFound) const override
Definition SlateStyleSet.cpp:442
virtual SLATECORE_API UE::Slate::FDeprecateVector2DResult GetVector(const FName PropertyName, const ANSICHAR *Specifier=nullptr, UE::Slate::FDeprecateVector2DParameter DefaultValue=FStyleDefaults::GetVector2D(), const ISlateStyle *RequestingStyle=nullptr) const override
Definition SlateStyleSet.cpp:202
FORCENOINLINE void Set(const FName PropertyName, BrushType *InBrush)
Definition SlateStyle.h:170
virtual SLATECORE_API void LogMissingResource(EStyleMessageSeverity Severity, const FText &Message, const FName &MissingResource) const override
Definition SlateStyleSet.cpp:573
virtual SLATECORE_API const FName & GetStyleSetName() const override
Definition SlateStyleSet.cpp:41
virtual SLATECORE_API const FSlateColor GetSlateColor(const FName PropertyName, const ANSICHAR *Specifier=nullptr, const FSlateColor &DefaultValue=FStyleDefaults::GetSlateColor(), const ISlateStyle *RequestingStyle=nullptr) const override
Definition SlateStyleSet.cpp:247
SLATECORE_API void SetParentStyleName(const FName &InParentStyleName)
Definition SlateStyleSet.cpp:170
virtual SLATECORE_API FString RootToCoreContentDir(const ANSICHAR *RelativePath, const TCHAR *Extension)
Definition SlateStyleSet.cpp:140
FORCENOINLINE void Set(const FName PropertyName, const FVector2f &InVector)
Definition SlateStyle.h:119
TMap< FName, TWeakPtr< FSlateDynamicImageBrush > > DynamicBrushes
Definition SlateStyle.h:262
FORCENOINLINE void Set(const FName PropertyName, const UE::Slate::FDeprecateVector2DResult &InVector)
Definition SlateStyle.h:114
TMap< FName, FLinearColor > ColorValues
Definition SlateStyle.h:243
virtual SLATECORE_API void SetContentRoot(const FString &InContentRootDir)
Definition SlateStyleSet.cpp:100
FString ContentRootDir
Definition SlateStyle.h:228
virtual SLATECORE_API void GetResources(TArray< const FSlateBrush * > &OutResources) const override
Definition SlateStyleSet.cpp:46
TMap< FName, TSharedRef< struct FSlateWidgetStyle > > WidgetStyleValues
Definition SlateStyle.h:233
TMap< FName, FMargin > MarginValues
Definition SlateStyle.h:249
virtual SLATECORE_API const FLinearColor & GetColor(const FName PropertyName, const ANSICHAR *Specifier=nullptr, const FLinearColor &DefaultValue=FStyleDefaults::GetColor(), const ISlateStyle *RequestingStyle=nullptr) const override
Definition SlateStyleSet.cpp:224
virtual SLATECORE_API float GetFloat(const FName PropertyName, const ANSICHAR *Specifier=nullptr, float DefaultValue=FStyleDefaults::GetFloat(), const ISlateStyle *RequestingStyle=nullptr) const override
Definition SlateStyleSet.cpp:180
virtual SLATECORE_API const TSharedPtr< FSlateDynamicImageBrush > MakeDynamicImageBrush(const FName BrushTemplate, UTexture2D *TextureResource, const FName TextureName) const override
Definition SlateStyleSet.cpp:584
virtual SLATECORE_API TArray< FName > GetEntriesUsingBrush(const FName BrushName) const override
Definition SlateStyleSet.cpp:65
virtual SLATECORE_API const FSlateBrush * GetBrush(const FName PropertyName, const ANSICHAR *Specifier=nullptr, const ISlateStyle *RequestingStyle=nullptr) const override
Definition SlateStyleSet.cpp:299
TMap< FName, FVector2f > Vector2DValues
Definition SlateStyle.h:240
FORCENOINLINE void Set(const FName PropertyName, const DefinitionType &InStyleDefintion)
Definition SlateStyle.h:85
TMap< FName, FSlateSound > Sounds
Definition SlateStyle.h:256
virtual SLATECORE_API TSet< FName > GetStyleKeys() const override
Definition SlateStyleSet.cpp:482
virtual SLATECORE_API const TSharedPtr< FSlateDynamicImageBrush > GetDynamicImageBrush(const FName BrushTemplate, const FName TextureName, const ANSICHAR *Specifier=nullptr, const ISlateStyle *RequestingStyle=nullptr) const override
Definition SlateStyleSet.cpp:359
FORCENOINLINE void Set(const FName PropertyName, const FMargin &InMargin)
Definition SlateStyle.h:158
SLATECORE_API bool IsBrushFromFile(const FString &FilePath, const FSlateBrush *Brush)
Definition SlateStyleSet.cpp:654
static const FSlateColor & GetSlateColor()
Definition StyleDefaults.h:46
static float GetFloat()
Definition StyleDefaults.h:19
static const UE::Slate::FDeprecateVector2DResult GetVector2D()
Definition StyleDefaults.h:28
static const FMargin & GetMargin()
Definition StyleDefaults.h:55
static const FLinearColor & GetColor()
Definition StyleDefaults.h:37
static SLATECORE_API const FSlateBrush * GetNoBrush()
Definition StyleDefaults.cpp:6
Definition Text.h:385
Definition ISlateStyle.h:18
EStyleMessageSeverity
Definition ISlateStyle.h:208
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition Texture2D.h:26
FDeprecateSlateVector2D FDeprecateVector2DResult
Definition SlateVector2.h:469
const FVector2f & CastToVector2f(const FVector2f &InValue)
Definition SlateVector2.h:591
Definition Color.h:486
Definition Color.h:48
Definition Margin.h:17
Definition SlateBrush.h:239
Definition SlateColor.h:42
Definition SlateFontInfo.h:147
Definition SlateSound.h:16
Definition SlateWidgetStyle.h:16
Definition SlateVector2.h:485