UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ISlateStyle.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreMinimal.h"
8
9class Error;
10class UTexture2D;
13
18{
19public:
22 {}
23
25 virtual ~ISlateStyle()
26 {}
27
29 virtual const FName& GetStyleSetName() const = 0;
30
36 virtual FString GetContentRootDir() const = 0;
37
45 virtual TArray<FName> GetEntriesUsingBrush(const FName BrushName) const = 0;
46
52 template< typename WidgetStyleType >
53 const WidgetStyleType& GetWidgetStyle( FName PropertyName, const ANSICHAR* Specifier, const WidgetStyleType* DefaultValue, bool bWarnIfNotFound ) const
54 {
55 const FSlateWidgetStyle* ExistingStyle = GetWidgetStyleInternal(WidgetStyleType::TypeName, Join( PropertyName, Specifier ), DefaultValue, bWarnIfNotFound);
56
57 if ( ExistingStyle == nullptr )
58 {
59 return WidgetStyleType::GetDefault();
60 }
61
62 return *static_cast< const WidgetStyleType* >( ExistingStyle );
63 }
64
70 template< typename WidgetStyleType >
71 const WidgetStyleType& GetWidgetStyle( FName PropertyName, const ANSICHAR* Specifier = nullptr, const WidgetStyleType* DefaultValue = nullptr ) const
72 {
73 return GetWidgetStyle< WidgetStyleType >( PropertyName, Specifier, DefaultValue, DefaultValue == nullptr );
74 }
75
76 template< typename WidgetStyleType >
77 bool HasWidgetStyle( FName PropertyName, const ANSICHAR* Specifier = nullptr ) const
78 {
79 const bool bWarnIfNotFound = false;
80 return GetWidgetStyleInternal( WidgetStyleType::TypeName, Join( PropertyName, Specifier ), nullptr, bWarnIfNotFound) != nullptr;
81 }
82
83 const FSlateWidgetStyle* GetWidgetStyle( const FName& WidgetStyleTypeName, FName PropertyName, const ANSICHAR* Specifier = nullptr, const FSlateWidgetStyle* DefaultValue = nullptr, bool bWarnIfNotFound = true ) const
84 {
86
87 if ( ExistingStyle == nullptr )
88 {
89 return DefaultValue;
90 }
91
92 return ExistingStyle ? ExistingStyle : DefaultValue;
93 }
94
102 virtual float GetFloat(const FName PropertyName, const ANSICHAR* Specifier = nullptr, float DefaultValue = FStyleDefaults::GetFloat(), const ISlateStyle* RequestingStyle = nullptr) const = 0;
103
112
120 virtual const FLinearColor& GetColor(const FName PropertyName, const ANSICHAR* Specifier = nullptr, const FLinearColor& DefaultValue = FStyleDefaults::GetColor(), const ISlateStyle* RequestingStyle = nullptr) const = 0;
121
129 virtual const FSlateColor GetSlateColor(const FName PropertyName, const ANSICHAR* Specifier = nullptr, const FSlateColor& DefaultValue = FStyleDefaults::GetSlateColor(), const ISlateStyle* RequestingStyle = nullptr) const = 0;
130
138 virtual const FMargin& GetMargin(const FName PropertyName, const ANSICHAR* Specifier = nullptr, const FMargin& DefaultValue = FStyleDefaults::GetMargin(), const ISlateStyle* RequestingStyle = nullptr) const = 0;
139
146 virtual const FSlateBrush* GetBrush( const FName PropertyName, const ANSICHAR* Specifier = nullptr, const ISlateStyle* RequestingStyle = nullptr) const = 0;
147
157 virtual const FSlateBrush* GetOptionalBrush( const FName PropertyName, const ANSICHAR* Specifier = nullptr, const FSlateBrush* const DefaultBrush = FStyleDefaults::GetNoBrush()) const = 0;
158
159 virtual const TSharedPtr< FSlateDynamicImageBrush > GetDynamicImageBrush( const FName BrushTemplate, const FName TextureName, const ANSICHAR* Specifier = nullptr, const ISlateStyle* RequestingStyle = nullptr ) const = 0;
160
161 virtual const TSharedPtr< FSlateDynamicImageBrush > GetDynamicImageBrush( const FName BrushTemplate, const ANSICHAR* Specifier, UTexture2D* TextureResource, const FName TextureName, const ISlateStyle* RequestingStyle = nullptr ) const = 0;
162
163 virtual const TSharedPtr< FSlateDynamicImageBrush > GetDynamicImageBrush( const FName BrushTemplate, UTexture2D* TextureResource, const FName TextureName, const ISlateStyle* RequestingStyle = nullptr ) const = 0;
164
169 virtual FSlateBrush* GetDefaultBrush() const = 0;
170
172 virtual const FSlateSound& GetSound( const FName PropertyName, const ANSICHAR* Specifier = nullptr , const ISlateStyle* RequestingStyle = nullptr) const = 0;
173
180 virtual FSlateFontInfo GetFontStyle( const FName PropertyName, const ANSICHAR* Specifier = nullptr ) const = 0;
181
182 static FName Join( FName A, const ANSICHAR* B )
183 {
184 if( B == nullptr )
185 {
186 return A;
187 }
188 else
189 {
190 return FName( *( A.ToString() + B ) );
191 }
192 }
193
194 virtual TSet<FName> GetStyleKeys() const = 0;
195
196 virtual const TSet<FName>& GetWidgetStyleNames() const
197 {
198 static TSet<FName> Dummy;
199 return Dummy;
200 }
201protected:
202
208 {
209 CriticalError UE_DEPRECATED(5.1, "CriticalError was removed because it can't trigger an assert at the callsite. Use 'checkf' instead.") = 0,
210 Error = 1,
212 Warning = 3,
213 Info = 4, // Should be last
214 };
215
216
217protected:
218
219 friend class FSlateStyleSet;
220 friend class ISlateStyle;
221
225 virtual const FSlateWidgetStyle* GetWidgetStyleInternal( const FName DesiredTypeName, const FName StyleName, const FSlateWidgetStyle* DefaultStyle, bool bWarnIfNotFound) const = 0;
226
230 virtual void Log( EStyleMessageSeverity Severity, const FText& Message ) const = 0;
231
232 virtual void LogMissingResource(EStyleMessageSeverity Severity, const FText& Message, const FName& MissingResource) const = 0;
233
234 virtual const TSharedPtr< FSlateDynamicImageBrush > MakeDynamicImageBrush( const FName BrushTemplate, UTexture2D* TextureResource, const FName TextureName ) const = 0;
235};
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
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition NameTypes.h:617
Definition SlateStyle.h:28
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
virtual const TSharedPtr< FSlateDynamicImageBrush > GetDynamicImageBrush(const FName BrushTemplate, const ANSICHAR *Specifier, UTexture2D *TextureResource, const FName TextureName, const ISlateStyle *RequestingStyle=nullptr) const =0
virtual const FLinearColor & GetColor(const FName PropertyName, const ANSICHAR *Specifier=nullptr, const FLinearColor &DefaultValue=FStyleDefaults::GetColor(), const ISlateStyle *RequestingStyle=nullptr) const =0
virtual const FSlateWidgetStyle * GetWidgetStyleInternal(const FName DesiredTypeName, const FName StyleName, const FSlateWidgetStyle *DefaultStyle, bool bWarnIfNotFound) const =0
ISlateStyle()
Definition ISlateStyle.h:21
static FName Join(FName A, const ANSICHAR *B)
Definition ISlateStyle.h:182
virtual const FSlateSound & GetSound(const FName PropertyName, const ANSICHAR *Specifier=nullptr, const ISlateStyle *RequestingStyle=nullptr) const =0
EStyleMessageSeverity
Definition ISlateStyle.h:208
virtual const FSlateBrush * GetOptionalBrush(const FName PropertyName, const ANSICHAR *Specifier=nullptr, const FSlateBrush *const DefaultBrush=FStyleDefaults::GetNoBrush()) const =0
virtual const TSharedPtr< FSlateDynamicImageBrush > GetDynamicImageBrush(const FName BrushTemplate, const FName TextureName, const ANSICHAR *Specifier=nullptr, const ISlateStyle *RequestingStyle=nullptr) const =0
virtual FSlateFontInfo GetFontStyle(const FName PropertyName, const ANSICHAR *Specifier=nullptr) const =0
virtual const FMargin & GetMargin(const FName PropertyName, const ANSICHAR *Specifier=nullptr, const FMargin &DefaultValue=FStyleDefaults::GetMargin(), const ISlateStyle *RequestingStyle=nullptr) const =0
virtual void LogMissingResource(EStyleMessageSeverity Severity, const FText &Message, const FName &MissingResource) const =0
const WidgetStyleType & GetWidgetStyle(FName PropertyName, const ANSICHAR *Specifier, const WidgetStyleType *DefaultValue, bool bWarnIfNotFound) const
Definition ISlateStyle.h:53
virtual const TSet< FName > & GetWidgetStyleNames() const
Definition ISlateStyle.h:196
const FSlateWidgetStyle * GetWidgetStyle(const FName &WidgetStyleTypeName, FName PropertyName, const ANSICHAR *Specifier=nullptr, const FSlateWidgetStyle *DefaultValue=nullptr, bool bWarnIfNotFound=true) const
Definition ISlateStyle.h:83
bool HasWidgetStyle(FName PropertyName, const ANSICHAR *Specifier=nullptr) const
Definition ISlateStyle.h:77
virtual const TSharedPtr< FSlateDynamicImageBrush > MakeDynamicImageBrush(const FName BrushTemplate, UTexture2D *TextureResource, const FName TextureName) const =0
const WidgetStyleType & GetWidgetStyle(FName PropertyName, const ANSICHAR *Specifier=nullptr, const WidgetStyleType *DefaultValue=nullptr) const
Definition ISlateStyle.h:71
virtual UE::Slate::FDeprecateVector2DResult GetVector(const FName PropertyName, const ANSICHAR *Specifier=nullptr, UE::Slate::FDeprecateVector2DParameter DefaultValue=FStyleDefaults::GetVector2D(), const ISlateStyle *RequestingStyle=nullptr) const =0
virtual float GetFloat(const FName PropertyName, const ANSICHAR *Specifier=nullptr, float DefaultValue=FStyleDefaults::GetFloat(), const ISlateStyle *RequestingStyle=nullptr) const =0
virtual FSlateBrush * GetDefaultBrush() const =0
virtual const FSlateColor GetSlateColor(const FName PropertyName, const ANSICHAR *Specifier=nullptr, const FSlateColor &DefaultValue=FStyleDefaults::GetSlateColor(), const ISlateStyle *RequestingStyle=nullptr) const =0
virtual FString GetContentRootDir() const =0
virtual const FName & GetStyleSetName() const =0
virtual TSet< FName > GetStyleKeys() const =0
virtual TArray< FName > GetEntriesUsingBrush(const FName BrushName) const =0
virtual void Log(EStyleMessageSeverity Severity, const FText &Message) const =0
virtual const TSharedPtr< FSlateDynamicImageBrush > GetDynamicImageBrush(const FName BrushTemplate, UTexture2D *TextureResource, const FName TextureName, const ISlateStyle *RequestingStyle=nullptr) const =0
virtual const FSlateBrush * GetBrush(const FName PropertyName, const ANSICHAR *Specifier=nullptr, const ISlateStyle *RequestingStyle=nullptr) const =0
virtual ~ISlateStyle()
Definition ISlateStyle.h:25
virtual void GetResources(TArray< const FSlateBrush * > &OutResources) const =0
Definition Array.h:670
Definition Texture2D.h:26
FDeprecateSlateVector2D FDeprecateVector2DResult
Definition SlateVector2.h:469
Definition Color.h:48
Definition Margin.h:17
Definition SlateBrush.h:239
Definition SlateColor.h:42
Definition SlateDynamicImageBrush.h:15
Definition SlateFontInfo.h:147
Definition SlateSound.h:16
Definition SlateWidgetStyle.h:16
Definition SlateVector2.h:485