UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FSlateDrawBuffer Class Reference

#include <SlateDrawBuffer.h>

+ Inheritance diagram for FSlateDrawBuffer:

Public Member Functions

SLATECORE_API FSlateDrawBuffer ()
 
SLATECORE_API ~FSlateDrawBuffer ()
 
SLATECORE_API void ClearBuffer ()
 
SLATECORE_API void UpdateResourceVersion (uint32 NewResourceVersion)
 
SLATECORE_API FSlateWindowElementListAddWindowElementList (TSharedRef< SWindow > ForWindow)
 
SLATECORE_API void RemoveUnusedWindowElement (const TArray< SWindow * > &AllWindows)
 
const TArray< TSharedRef< FSlateWindowElementList > > & GetWindowElementLists ()
 
SLATECORE_API bool Lock ()
 
SLATECORE_API void Unlock (const UE::Tasks::FTask &PrerequisiteTask)
 
void Unlock ()
 
bool IsLocked () const
 
virtual SLATECORE_API void AddReferencedObjects (FReferenceCollector &Collector) override
 
virtual FString GetReferencerName () const
 
- Public Member Functions inherited from FGCObject
 FGCObject ()
 
 FGCObject (const FGCObject &Other)
 
 FGCObject (FGCObject &&Other)
 
 FGCObject (EFlags Flags)
 
virtual ~FGCObject ()
 
FGCObjectoperator= (const FGCObject &)
 
FGCObjectoperator= (FGCObject &&)
 
COREUOBJECT_API void RegisterGCObject ()
 
COREUOBJECT_API void UnregisterGCObject ()
 
virtual bool GetReferencerPropertyName (UObject *Object, FString &OutPropertyName) const
 

Public Attributes

FDeprecateSlateVector2D ViewOffset
 

Additional Inherited Members

- Public Types inherited from FGCObject
enum class  EFlags : uint32 { None = 0 , RegisterLater = 1 << 0 , AddStableNativeReferencesOnly = 1 << 1 }
 
- Static Public Member Functions inherited from FGCObject
static COREUOBJECT_API void StaticInit ()
 
- Static Public Attributes inherited from FGCObject
static COREUOBJECT_API UGCObjectReferencerGGCObjectReferencer = nullptr
 

Detailed Description

Implements a draw buffer for Slate.

Constructor & Destructor Documentation

◆ FSlateDrawBuffer()

FSlateDrawBuffer::FSlateDrawBuffer ( )

Default constructor.

◆ ~FSlateDrawBuffer()

FSlateDrawBuffer::~FSlateDrawBuffer ( )
default

Member Function Documentation

◆ AddReferencedObjects()

void FSlateDrawBuffer::AddReferencedObjects ( FReferenceCollector Collector)
overridevirtual

FGCObject Interface

Implements FGCObject.

◆ AddWindowElementList()

FSlateWindowElementList & FSlateDrawBuffer::AddWindowElementList ( TSharedRef< SWindow ForWindow)

Creates a new FSlateWindowElementList and returns a reference to it so it can have draw elements added to it

Parameters
ForWindowThe window for which we are creating a list of paint elements.

◆ ClearBuffer()

void FSlateDrawBuffer::ClearBuffer ( )

Removes all data from the buffer.

◆ GetReferencerName()

virtual FString FSlateDrawBuffer::GetReferencerName ( ) const
inlinevirtual

Overload this method to report a name for your referencer

Implements FGCObject.

◆ GetWindowElementLists()

const TArray< TSharedRef< FSlateWindowElementList > > & FSlateDrawBuffer::GetWindowElementLists ( )
inline

Gets all window element lists in this buffer.

◆ IsLocked()

bool FSlateDrawBuffer::IsLocked ( ) const
inline
Returns
true if the buffer is locked.

◆ Lock()

bool FSlateDrawBuffer::Lock ( )

Locks the draw buffer. Indicates that the viewport is in use.

Returns
true if the buffer could be locked. False otherwise.
See also
Unlock

◆ RemoveUnusedWindowElement()

void FSlateDrawBuffer::RemoveUnusedWindowElement ( const TArray< SWindow * > &  AllWindows)

Removes any window from the draw buffer that's not in this list or whose window has become invalid.

◆ Unlock() [1/2]

void FSlateDrawBuffer::Unlock ( )
inline

◆ Unlock() [2/2]

void FSlateDrawBuffer::Unlock ( const UE::Tasks::FTask PrerequisiteTask)

Unlocks the buffer. Indicates that the buffer is free.

See also
Lock

◆ UpdateResourceVersion()

void FSlateDrawBuffer::UpdateResourceVersion ( uint32  NewResourceVersion)

Updates renderer resource version to allow the draw buffer to clean up cached resources

Member Data Documentation

◆ ViewOffset

FDeprecateSlateVector2D FSlateDrawBuffer::ViewOffset

The documentation for this class was generated from the following files: