UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SCanvas.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 "SlotBase.h"
9#include "Widgets/SWidget.h"
10#include "Layout/Children.h"
12#include "Widgets/SPanel.h"
13
15class FPaintArgs;
17
21class SCanvas : public SPanel
22{
24
25public:
26
54 {
55 public:
66 {
67 return Position.Get();
68 }
69
71 {
72 Size.Assign(*this, MoveTemp(InSize));
73 }
75 {
76 return Size.Get();
77 }
78
79 public:
84 , Position(*this, FVector2D::ZeroVector)
85 , Size(*this, FVector2D(1.0f, 1.0f))
86 { }
87
88 SLATE_API void Construct(const FChildren& SlotOwner, FSlotArguments&& InArg);
90
91 private:
94
97 };
98
103
104 SLATE_SLOT_ARGUMENT( FSlot, Slots )
105
107
110
116 SLATE_API void Construct( const FArguments& InArgs );
117
118 static SLATE_API FSlot::FSlotArguments Slot();
119
127
134
139
141 int32 NumSlots() const { return Children.Num(); }
142
143public:
144
145 //~ SWidget overrides
146 SLATE_API virtual void OnArrangeChildren( const FGeometry& AllottedGeometry, FArrangedChildren& ArrangedChildren ) const override;
147 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;
148 SLATE_API virtual FChildren* GetChildren() override;
149
150protected:
151 //~ Begin SWidget overrides.
152 SLATE_API virtual FVector2D ComputeDesiredSize(float) const override;
153 //~ End SWidget overrides.
154
155protected:
156
159};
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
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_END_ARGS()
Definition DeclarativeSyntaxSupport.h:116
#define SLATE_SLOT_END_ARGS()
Definition DeclarativeSyntaxSupport.h:386
#define SLATE_DECLARE_WIDGET_API(WidgetType, ParentType, ModuleApiDefine)
Definition SlateControlledConstruction.h:22
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
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 SCanvas.h:54
FSlot()
Definition SCanvas.h:81
FVector2D GetPosition() const
Definition SCanvas.h:65
void SetSize(TAttribute< FVector2D > InSize)
Definition SCanvas.h:70
FVector2D GetSize() const
Definition SCanvas.h:74
SLATE_SLOT_BEGIN_ARGS_OneMixin(FSlot, TSlotBase< FSlot >, TAlignmentWidgetSlotMixin< FSlot >) void SetPosition(TAttribute< FVector2D > InPosition)
Definition SCanvas.h:56
static SLATE_API void RegisterAttributes(FSlateWidgetSlotAttributeInitializer &AttributeInitializer)
Definition SCanvas.cpp:15
Definition SCanvas.h:22
int32 NumSlots() const
Definition SCanvas.h:141
static SLATE_API FSlot::FSlotArguments Slot()
Definition SCanvas.cpp:53
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 SCanvas.cpp:125
virtual SLATE_API FChildren * GetChildren() override
Definition SCanvas.cpp:163
SLATE_API FScopedWidgetSlotArguments AddSlot()
Definition SCanvas.cpp:58
SLATE_API int32 RemoveSlot(const TSharedRef< SWidget > &SlotWidget)
Definition SCanvas.cpp:68
SLATE_API void ClearChildren()
Definition SCanvas.cpp:63
SLATE_BEGIN_ARGS(SCanvas)
Definition SCanvas.h:99
TPanelChildren< FSlot > Children
Definition SCanvas.h:158
virtual SLATE_API FVector2D ComputeDesiredSize(float) const override
Definition SCanvas.cpp:157
virtual SLATE_API void OnArrangeChildren(const FGeometry &AllottedGeometry, FArrangedChildren &ArrangedChildren) const override
Definition SCanvas.cpp:73
Definition SPanel.h:30
void Construct()
Definition SPanel.h:65
Definition SWidget.h:165
Definition BasicLayoutWidgetSlot.h:19
Definition Attribute.h:17
Definition Children.h:461
virtual int32 Num() const override
Definition Children.h:485
Definition SharedPointer.h:153
Definition SlotBase.h:122
Definition WidgetSlotWithAttributeSupport.h:21
static SLATECORE_API const EVisibility SelfHitTestInvisible
Definition Visibility.h:26
Definition Geometry.h:40
Definition SlateAttributeDescriptor.h:205