14 template <
typename ObjectType, ESPMode Mode>
15 class TIntrusiveReferenceController;
19#define SLATE_DECLARE_WIDGET(WidgetType, ParentType) \
20 SLATE_DECLARE_WIDGET_API(WidgetType, ParentType, NO_API)
22#define SLATE_DECLARE_WIDGET_API(WidgetType, ParentType, ModuleApiDefine) \
24 using Super = ParentType; \
25 using ThisClass = WidgetType; \
26 using PrivateThisType = WidgetType; \
27 using PrivateParentType = ParentType; \
28 template<class WidgetType, bool bIsUserWidget> \
29 friend struct TWidgetAllocator; \
30 template <typename ObjectType, ESPMode Mode> \
31 friend class SharedPointerInternals::TIntrusiveReferenceController; \
32 static const FSlateWidgetClassData& GetPrivateWidgetClass() \
34 static FSlateWidgetClassData WidgetClassDataInstance = FSlateWidgetClassData(TIdentity<ParentType>(), #WidgetType, &WidgetType::PrivateRegisterAttributes); \
35 return WidgetClassDataInstance; \
37 static ModuleApiDefine void PrivateRegisterAttributes(FSlateAttributeInitializer&); \
39 static const FSlateWidgetClassData& StaticWidgetClass() { return GetPrivateWidgetClass(); } \
40 virtual const FSlateWidgetClassData& GetWidgetClass() const override { return GetPrivateWidgetClass(); } \
44#define SLATE_IMPLEMENT_WIDGET(WidgetType) \
45 FSlateWidgetClassRegistration ClassRegistration__##WidgetType = WidgetType::StaticWidgetClass();
58 template<
typename InW
idgetParentType>
106 void*
operator new (
const size_t InSize )
108 return FMemory::Malloc(
InSize);
112 void*
operator new (
const size_t InSize,
void* Addr )
117 template<
class W
idgetType,
bool bIsUserW
idget>
121 template <
typename ObjectType, ESPMode Mode>
125 void operator delete(
void* mem)
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ESPMode
Definition SharedPointerFwd.h:12
Definition NameTypes.h:617
Definition SlateAttributeDescriptor.h:32
Definition SlateControlledConstruction.h:85
static const FSlateWidgetClassData & StaticWidgetClass()
Definition SlateControlledConstruction.h:91
friend struct TWidgetAllocator
Definition SlateControlledConstruction.h:118
virtual ~FSlateControlledConstruction()=default
FSlateControlledConstruction()=default
virtual const FSlateWidgetClassData & GetWidgetClass() const =0
Definition SharedPointerInternals.h:400
Definition SharedPointerInternals.h:32
static FORCENOINLINE CORE_API void Free(void *Original)
Definition UnrealMemory.cpp:685
Definition SlateAttributeDescriptor.h:261