UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SBorder.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"
6#include "Misc/Attribute.h"
9#include "Widgets/SWidget.h"
10#include "Layout/Margin.h"
12#include "Styling/CoreStyle.h"
13#include "Styling/SlateTypes.h"
14
15class FPaintArgs;
17
18template <>
20{
21 static constexpr bool SupportsInvalidation() { return true; }
22};
23
31{
33
34public:
35
54
55 SLATE_DEFAULT_SLOT( FArguments, Content )
56
60
64 SLATE_EVENT( FPointerEventHandler, OnMouseDoubleClick )
65
66 SLATE_ATTRIBUTE( const FSlateBrush*, BorderImage )
67
69
70 SLATE_ATTRIBUTE( FVector2D, DesiredSizeScale )
71
72
73 SLATE_ATTRIBUTE( FLinearColor, ColorAndOpacity )
75 SLATE_ATTRIBUTE( FSlateColor, BorderBackgroundColor )
77 SLATE_ATTRIBUTE( FSlateColor, ForegroundColor )
80
81
82 SLATE_ARGUMENT(bool, FlipForRightToLeftFlowDirection)
83
84 FArguments& Padding(float Uniform)
85 {
86 _Padding = FMargin(Uniform);
87 return *this;
88 }
89
90 FArguments& Padding(float Horizontal, float Vertical)
91 {
92 _Padding = FMargin(Horizontal, Vertical);
93 return *this;
94 }
95
96 FArguments& Padding(float Left, float Top, float Right, float Bottom)
97 {
98 _Padding = FMargin(Left, Top, Right, Bottom);
99 return *this;
100 }
101
103
104
109
115 SLATE_API void Construct( const FArguments& InArgs );
116
123
129 SLATE_API const TSharedRef< SWidget >& GetContent() const;
130
132 SLATE_API void ClearContent();
133
136
138 FSlateColor GetBorderBackgroundColor() const { return BorderBackgroundColorAttribute.Get(); }
139
142
145
148
151
154
157
159 const FSlateBrush* GetBorderImage() const { return BorderImageAttribute.Get(); }
160
161public:
162 // SWidget interface
163 SLATE_API virtual int32 OnPaint( const FPaintArgs& Args, const FGeometry& AllottedGeometry, const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, int32 LayerId, const FWidgetStyle& InWidgetStyle, bool bParentEnabled ) const override;
164 // End of SWidget interface
165
166protected:
167 //~Begin SWidget overrides.
168 SLATE_API virtual FVector2D ComputeDesiredSize(float) const override;
169 //~End SWidget overrides.
170
172 bool GetShowDisabledEffect() const { return ShowDisabledEffectAttribute.Get(); }
173
175 FVector2D GetDesiredSizeScale() const { return DesiredSizeScaleAttribute.Get(); }
176
181
182 private:
183 TSlateAttribute<const FSlateBrush*> BorderImageAttribute;
184 TSlateAttribute<FSlateColor> BorderBackgroundColorAttribute;
185 TSlateAttribute<FVector2D> DesiredSizeScaleAttribute;
187 TSlateAttribute<bool> ShowDisabledEffectAttribute;
188
190 bool bFlipForRightToLeftFlowDirection;
191 };
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define SLATE_ATTRIBUTE(AttrType, AttrName)
Definition DeclarativeSyntaxSupport.h:192
#define SLATE_EVENT(DelegateName, EventName)
Definition DeclarativeSyntaxSupport.h:458
#define SLATE_END_ARGS()
Definition DeclarativeSyntaxSupport.h:116
#define SLATE_DEFAULT_SLOT(DeclarationType, SlotName)
Definition DeclarativeSyntaxSupport.h:444
#define SLATE_ARGUMENT(ArgType, ArgName)
Definition DeclarativeSyntaxSupport.h:208
return true
Definition ExternalRpcRegistry.cpp:601
@ Bottom
Definition MaterialExpressionFunctionInput.h:43
@ Top
Definition MaterialExpressionFunctionInput.h:42
#define SLATE_DECLARE_WIDGET_API(WidgetType, ParentType, ModuleApiDefine)
Definition SlateControlledConstruction.h:22
EHorizontalAlignment
Definition SlateEnums.h:174
EVerticalAlignment
Definition SlateEnums.h:194
Definition CoreStyle.h:15
Definition PaintArgs.h:23
Definition SlateRect.h:26
Definition DrawElements.h:220
Definition WidgetStyle.h:15
Definition SBorder.h:31
virtual SLATE_API void SetContent(TSharedRef< SWidget > InContent)
Definition SBorder.cpp:77
FVector2D GetDesiredSizeScale() const
Definition SBorder.h:175
virtual SLATE_API FVector2D ComputeDesiredSize(float) const override
Definition SBorder.cpp:134
TSlateAttributeRef< bool > GetShowDisabledEffectAttribute() const
Definition SBorder.h:180
virtual SLATE_API int32 OnPaint(const FPaintArgs &Args, const FGeometry &AllottedGeometry, const FSlateRect &MyCullingRect, FSlateWindowElementList &OutDrawElements, int32 LayerId, const FWidgetStyle &InWidgetStyle, bool bParentEnabled) const override
Definition SBorder.cpp:95
TSlateAttributeRef< FVector2D > GetDesiredSizeScaleAttribute() const
Definition SBorder.h:179
TSlateAttributeRef< const FSlateBrush * > GetBorderImageAttribute() const
Definition SBorder.h:177
SLATE_API const TSharedRef< SWidget > & GetContent() const
Definition SBorder.cpp:85
SLATE_API void SetBorderImage(TAttribute< const FSlateBrush * > InBorderImage)
Definition SBorder.cpp:169
TSlateAttributeRef< FSlateColor > GetBorderBackgroundColorAttribute() const
Definition SBorder.h:178
SLATE_API void ClearContent()
Definition SBorder.cpp:90
FSlateColor GetBorderBackgroundColor() const
Definition SBorder.h:138
bool GetShowDisabledEffect() const
Definition SBorder.h:172
SLATE_API void SetHAlign(EHorizontalAlignment HAlign)
Definition SBorder.cpp:149
SLATE_API void SetDesiredSizeScale(TAttribute< FVector2D > InDesiredSizeScale)
Definition SBorder.cpp:144
FArguments & Padding(float Left, float Top, float Right, float Bottom)
Definition SBorder.h:96
SLATE_API void SetBorderBackgroundColor(TAttribute< FSlateColor > InColorAndOpacity)
Definition SBorder.cpp:139
SLATE_API void SetVAlign(EVerticalAlignment VAlign)
Definition SBorder.cpp:154
FArguments & Padding(float Horizontal, float Vertical)
Definition SBorder.h:90
const FSlateBrush * GetBorderImage() const
Definition SBorder.h:159
SLATE_API void Construct(const FArguments &InArgs)
Definition SBorder.cpp:28
SLATE_API void SetPadding(TAttribute< FMargin > InPadding)
Definition SBorder.cpp:159
SLATE_API void SetShowEffectWhenDisabled(TAttribute< bool > InShowEffectWhenDisabled)
Definition SBorder.cpp:164
SLATE_BEGIN_ARGS(SBorder)
Definition SBorder.h:36
Definition SCompoundWidget.h:22
Definition SWidget.h:165
virtual SLATECORE_API FReply OnMouseButtonDown(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent)
Definition SWidget.cpp:451
virtual SLATECORE_API FReply OnMouseButtonUp(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent)
Definition SWidget.cpp:463
virtual SLATECORE_API FReply OnMouseMove(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent)
Definition SWidget.cpp:475
Definition Attribute.h:17
static UE_FORCEINLINE_HINT TSharedRef< OtherType, Mode > SharedThis(OtherType *ThisPtr)
Definition SharedPointer.h:1780
Definition SharedPointer.h:153
@ false
Definition radaudio_common.h:23
Definition Geometry.h:40
Definition Color.h:48
Definition Margin.h:17
Definition SlateBrush.h:239
Definition SlateColor.h:42
Definition SWidget.h:255
const ObjectType & Get() const
Definition SlateAttributeBase.inl:240
static constexpr bool SupportsInvalidation()
Definition SBorder.h:21
Definition SWidget.h:69