UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SConstraintCanvas.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"
8#include "Layout/Margin.h"
9#include "Layout/Geometry.h"
11#include "SlotBase.h"
12#include "Widgets/SWidget.h"
13#include "Layout/Children.h"
14#include "Widgets/SPanel.h"
16
17#define UE_API SLATE_API
18
20class FPaintArgs;
22
28{
29public:
30
34 class FSlot : public TSlotBase<FSlot>
35 {
36 public:
39 : TSlotBase<FSlot>()
40 , OffsetAttr(FMargin(0, 0, 1, 1))
41 , AnchorsAttr(FAnchors(0.0f, 0.0f))
42 , AlignmentAttr(FVector2D(0.5f, 0.5f))
43 , AutoSizeAttr(false)
44 , ZOrder(0)
45 { }
46
50 SLATE_ATTRIBUTE(FVector2D, Alignment)
51 SLATE_ATTRIBUTE(bool, AutoSize)
54
55 UE_API void Construct(const FChildren& SlotOwner, FSlotArguments&& InArgs);
56
57 void SetOffset( const TAttribute<FMargin>& InOffset )
58 {
59 SetAttribute(OffsetAttr, InOffset, EInvalidateWidgetReason::Layout);
60 }
61
63 {
64 return OffsetAttr.Get();
65 }
66
71
73 {
74 return AnchorsAttr.Get();
75 }
76
81
83 {
84 return AlignmentAttr.Get();
85 }
86
91
92 bool GetAutoSize() const
93 {
94 return AutoSizeAttr.Get();
95 }
96
97 UE_API void SetZOrder(float InZOrder);
98
99 float GetZOrder() const
100 {
101 return ZOrder;
102 }
103
104 private:
106 TAttribute<FMargin> OffsetAttr;
108 TAttribute<FAnchors> AnchorsAttr;
110 TAttribute<FVector2D> AlignmentAttr;
112 TAttribute<bool> AutoSizeAttr;
113 private:
115 float ZOrder;
116 };
117
122
123 SLATE_SLOT_ARGUMENT( FSlot, Slots)
124
126
129
135 SLATE_API void Construct( const FArguments& InArgs );
136
137 static SLATE_API FSlot::FSlotArguments Slot();
138
146
153
158
159public:
160
161 // Begin SWidget overrides
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;
165 // End SWidget overrides
166
168 // Begin SWidget overrides.
170 // End SWidget overrides.
171
172private:
173
176
178 void ArrangeLayeredChildren(const FGeometry& AllottedGeometry, FArrangedChildren& ArrangedChildren, FArrangedChildLayers& ArrangedChildLayers) const;
179
181
184};
185
186#undef UE_API
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_SLOT_ARGUMENT(SlotType, SlotName)
Definition DeclarativeSyntaxSupport.h:348
#define SLATE_ATTRIBUTE(AttrType, AttrName)
Definition DeclarativeSyntaxSupport.h:192
#define SLATE_SLOT_BEGIN_ARGS(SlotType, SlotParentType)
Definition DeclarativeSyntaxSupport.h:361
#define SLATE_END_ARGS()
Definition DeclarativeSyntaxSupport.h:116
#define SLATE_SLOT_END_ARGS()
Definition DeclarativeSyntaxSupport.h:386
#define SLATE_ARGUMENT(ArgType, ArgName)
Definition DeclarativeSyntaxSupport.h:208
#define UE_API
Definition SConstraintCanvas.h:17
uint32 Offset
Definition VulkanMemory.cpp:4033
Definition ArrangedChildren.h:15
Definition ChildrenBase.h:27
Definition PaintArgs.h:23
Definition SlateRect.h:26
Definition DrawElements.h:220
bool SetAttribute(TAttribute< TargetValueType > &TargetValue, const TAttribute< SourceValueType > &SourceValue, EInvalidateWidgetReason BaseInvalidationReason)
Definition SlotBase.h:86
Definition WidgetStyle.h:15
Definition SConstraintCanvas.h:35
FMargin GetOffset() const
Definition SConstraintCanvas.h:62
FAnchors GetAnchors() const
Definition SConstraintCanvas.h:72
void SetAlignment(const TAttribute< FVector2D > &InAlignment)
Definition SConstraintCanvas.h:77
bool GetAutoSize() const
Definition SConstraintCanvas.h:92
UE_API void SetZOrder(float InZOrder)
Definition SConstraintCanvas.cpp:31
void SetAnchors(const TAttribute< FAnchors > &InAnchors)
Definition SConstraintCanvas.h:67
void SetAutoSize(const TAttribute< bool > &InAutoSize)
Definition SConstraintCanvas.h:87
float GetZOrder() const
Definition SConstraintCanvas.h:99
FSlot()
Definition SConstraintCanvas.h:38
void SetOffset(const TAttribute< FMargin > &InOffset)
Definition SConstraintCanvas.h:57
FVector2D GetAlignment() const
Definition SConstraintCanvas.h:82
Definition SConstraintCanvas.h:28
static SLATE_API FSlot::FSlotArguments Slot()
Definition SConstraintCanvas.cpp:127
SLATE_API void ClearChildren()
Definition SConstraintCanvas.cpp:180
SLATE_BEGIN_ARGS(SConstraintCanvas)
Definition SConstraintCanvas.h:118
SLATE_API FScopedWidgetSlotArguments AddSlot()
Definition SConstraintCanvas.cpp:132
TPanelChildren< FSlot > Children
Definition SConstraintCanvas.h:183
SLATE_API int32 RemoveSlot(const TSharedRef< SWidget > &SlotWidget)
Definition SConstraintCanvas.cpp:185
virtual SLATE_API FChildren * GetChildren() override
Definition SConstraintCanvas.cpp:391
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 SConstraintCanvas.cpp:314
virtual SLATE_API void OnArrangeChildren(const FGeometry &AllottedGeometry, FArrangedChildren &ArrangedChildren) const override
Definition SConstraintCanvas.cpp:204
virtual SLATE_API FVector2D ComputeDesiredSize(float) const override
Definition SConstraintCanvas.cpp:356
Definition SPanel.h:30
void Construct()
Definition SPanel.h:65
Definition SWidget.h:165
Definition Array.h:670
Definition Attribute.h:17
const ObjectType & Get() const
Definition Attribute.h:241
Definition Children.h:461
Definition SharedPointer.h:153
Definition ContainerAllocationPolicies.h:894
Definition SlotBase.h:122
@ false
Definition radaudio_common.h:23
static SLATECORE_API const EVisibility SelfHitTestInvisible
Definition Visibility.h:26
Definition Anchors.h:14
Definition Geometry.h:40
Definition Margin.h:17
Definition Optional.h:131