UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SBox.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"
7#include "Layout/Visibility.h"
9#include "Widgets/SWidget.h"
10#include "Layout/Margin.h"
11#include "Layout/Children.h"
12#include "Types/SlateStructs.h"
13#include "Widgets/SPanel.h"
14
16class FPaintArgs;
18
19template <>
21{
22 static constexpr bool SupportsInvalidation() { return true; }
23};
24
28class SBox : public SPanel
29{
31
32public:
47
50
51
53
54
56
57
58 SLATE_DEFAULT_SLOT(FArguments, Content)
59
60
61 SLATE_ATTRIBUTE(FOptionalSize, WidthOverride)
62
63
64 SLATE_ATTRIBUTE(FOptionalSize, HeightOverride)
65
66
67 SLATE_ATTRIBUTE(FOptionalSize, MinDesiredWidth)
68
69
70 SLATE_ATTRIBUTE(FOptionalSize, MinDesiredHeight)
71
72
73 SLATE_ATTRIBUTE(FOptionalSize, MaxDesiredWidth)
74
75
76 SLATE_ATTRIBUTE(FOptionalSize, MaxDesiredHeight)
77
78 SLATE_ATTRIBUTE(FOptionalSize, MinAspectRatio)
79
80 SLATE_ATTRIBUTE(FOptionalSize, MaxAspectRatio)
81
82 FArguments& Padding(float Uniform)
83 {
84 _Padding = FMargin(Uniform);
85 return *this;
86 }
87
88 FArguments& Padding(float Horizontal, float Vertical)
89 {
90 _Padding = FMargin(Horizontal, Vertical);
91 return *this;
92 }
93
94 FArguments& Padding(float Left, float Top, float Right, float Bottom)
95 {
96 _Padding = FMargin(Left, Top, Right, Bottom);
97 return *this;
98 }
99
101
102 SLATE_API SBox();
104
105 SLATE_API void Construct(const FArguments& InArgs);
106
109 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;
110
115
118
121
124
127
130
133
136
139
142
144
146
148 // Begin SWidget overrides.
150 SLATE_API float ComputeDesiredWidth() const;
151 SLATE_API float ComputeDesiredHeight() const;
152 // End SWidget overrides.
153
155
157 {
158 friend SBox;
159 using ::TSingleWidgetChildrenWithBasicLayoutSlot<EInvalidateWidgetReason::None>::TSingleWidgetChildrenWithBasicLayoutSlot;
160 };
162
163private:
165 TSlateAttribute<FOptionalSize> WidthOverride;
166
168 TSlateAttribute<FOptionalSize> HeightOverride;
169
171 TSlateAttribute<FOptionalSize> MinDesiredWidth;
172
174 TSlateAttribute<FOptionalSize> MinDesiredHeight;
175
177 TSlateAttribute<FOptionalSize> MaxDesiredWidth;
178
180 TSlateAttribute<FOptionalSize> MaxDesiredHeight;
181
182 TSlateAttribute<FOptionalSize> MinAspectRatio;
183
184 TSlateAttribute<FOptionalSize> MaxAspectRatio;
185};
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_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
EInvalidateWidgetReason
Definition InvalidateWidgetReason.h:14
@ 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 ArrangedChildren.h:15
Definition ChildrenBase.h:27
Definition PaintArgs.h:23
Definition SlateRect.h:26
Definition DrawElements.h:220
Definition WidgetStyle.h:15
Definition SBox.h:29
virtual SLATE_API FChildren * GetChildren() override
Definition SBox.cpp:290
SLATE_API void SetHAlign(EHorizontalAlignment HAlign)
Definition SBox.cpp:69
FArguments & Padding(float Horizontal, float Vertical)
Definition SBox.h:88
SLATE_API void SetMaxDesiredHeight(TAttribute< FOptionalSize > InMaxDesiredHeight)
Definition SBox.cpp:109
SLATE_API float ComputeDesiredWidth() const
Definition SBox.cpp:142
SLATE_API void SetMaxDesiredWidth(TAttribute< FOptionalSize > InMaxDesiredWidth)
Definition SBox.cpp:104
SLATE_API void SetVAlign(EVerticalAlignment VAlign)
Definition SBox.cpp:74
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 SBox.cpp:295
SLATE_API void SetContent(const TSharedRef< SWidget > &InContent)
Definition SBox.cpp:61
virtual SLATE_API void OnArrangeChildren(const FGeometry &AllottedGeometry, FArrangedChildren &ArrangedChildren) const override
Definition SBox.cpp:187
SLATE_API void SetHeightOverride(TAttribute< FOptionalSize > InHeightOverride)
Definition SBox.cpp:89
virtual SLATE_API FVector2D ComputeDesiredSize(float) const override
Definition SBox.cpp:124
SLATE_API void SetMinDesiredWidth(TAttribute< FOptionalSize > InMinDesiredWidth)
Definition SBox.cpp:94
SLATE_API void SetPadding(TAttribute< FMargin > InPadding)
Definition SBox.cpp:79
SLATE_API void SetMaxAspectRatio(TAttribute< FOptionalSize > InMaxAspectRatio)
Definition SBox.cpp:119
SLATE_API void SetMinDesiredHeight(TAttribute< FOptionalSize > InMinDesiredHeight)
Definition SBox.cpp:99
SLATE_BEGIN_ARGS(SBox)
Definition SBox.h:33
FArguments & Padding(float Left, float Top, float Right, float Bottom)
Definition SBox.h:94
FBoxOneChildSlot ChildSlot
Definition SBox.h:161
SLATE_API float ComputeDesiredHeight() const
Definition SBox.cpp:164
SLATE_API void SetWidthOverride(TAttribute< FOptionalSize > InWidthOverride)
Definition SBox.cpp:84
SLATE_API void SetMinAspectRatio(TAttribute< FOptionalSize > InMinAspectRatio)
Definition SBox.cpp:114
Definition SPanel.h:30
void Construct()
Definition SPanel.h:65
Definition SWidget.h:165
Definition Attribute.h:17
Definition SharedPointer.h:153
static SLATECORE_API const EVisibility SelfHitTestInvisible
Definition Visibility.h:26
Definition Geometry.h:40
Definition Margin.h:17
Definition SlateStructs.h:13
Definition SBox.h:157
friend SBox
Definition SBox.h:158
Definition SWidget.h:189
static constexpr bool SupportsInvalidation()
Definition SBox.h:22
Definition SWidget.h:69