UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DrawElementCoreTypes.h File Reference
#include "CoreMinimal.h"
#include "Stats/Stats.h"
#include "SlateGlobals.h"

Go to the source code of this file.

Typedefs

template<typename DrawElementType >
using FSlateDrawElementArray = TArray< DrawElementType >
 
using FSlateDrawElementMap = TTuple< FSlateDrawElementArray< FSlateBoxElement >, FSlateDrawElementArray< FSlateBoxElement >, FSlateDrawElementArray< FSlateTextElement >, FSlateDrawElementArray< FSlateShapedTextElement >, FSlateDrawElementArray< FSlateSplineElement >, FSlateDrawElementArray< FSlateLineElement >, FSlateDrawElementArray< FSlateGradientElement >, FSlateDrawElementArray< FSlateViewportElement >, FSlateDrawElementArray< FSlateBoxElement >, FSlateDrawElementArray< FSlateCustomDrawerElement >, FSlateDrawElementArray< FSlateCustomVertsElement >, FSlateDrawElementArray< FSlatePostProcessElement >, FSlateDrawElementArray< FSlateRoundedBoxElement >, FSlateDrawElementArray< FSlateDrawElement > >
 
template<EElementType ElementType>
using TSlateDrawElement = typename TTupleElement<(uint8) ElementType, FSlateDrawElementMap >::Type::ElementType
 

Enumerations

enum class  EElementType : uint8 {
  ET_Box , ET_DebugQuad , ET_Text , ET_ShapedText ,
  ET_Spline , ET_Line , ET_Gradient , ET_Viewport ,
  ET_Border , ET_Custom , ET_CustomVerts , ET_PostProcessPass ,
  ET_RoundedBox , ET_NonMapped , ET_Count
}
 

Functions

 DECLARE_MEMORY_STAT_EXTERN (TEXT("Vertex/Index Buffer Pool Memory (CPU)"), STAT_SlateBufferPoolMemory, STATGROUP_SlateMemory, SLATECORE_API)
 
 DECLARE_MEMORY_STAT_EXTERN (TEXT("Cached Draw Element Memory (CPU)"), STAT_SlateCachedDrawElementMemory, STATGROUP_SlateMemory, SLATECORE_API)
 

Typedef Documentation

◆ FSlateDrawElementArray

◆ FSlateDrawElementMap

◆ TSlateDrawElement

template<EElementType ElementType>
using TSlateDrawElement = typename TTupleElement<(uint8)ElementType, FSlateDrawElementMap>::Type::ElementType

Helper template to get draw element type in 'FSlateDrawElementMap' for a given element type enum, used to avoid 'auto' return values

Enumeration Type Documentation

◆ EElementType

enum class EElementType : uint8
strong

Slate higher level abstract element types

Enumerator
ET_Box 
ET_DebugQuad 
ET_Text 
ET_ShapedText 
ET_Spline 
ET_Line 
ET_Gradient 
ET_Viewport 
ET_Border 
ET_Custom 
ET_CustomVerts 
ET_PostProcessPass 
ET_RoundedBox 
ET_NonMapped 

We map draw elements by type on add for better cache coherency if possible, this type is used when that grouping is not possible. Grouping is also planned to be used for bulk element type processing.

ET_Count 

Total number of draw commands

Function Documentation

◆ DECLARE_MEMORY_STAT_EXTERN() [1/2]

DECLARE_MEMORY_STAT_EXTERN ( TEXT("Cached Draw Element Memory (CPU)")  ,
STAT_SlateCachedDrawElementMemory  ,
STATGROUP_SlateMemory  ,
SLATECORE_API   
)

◆ DECLARE_MEMORY_STAT_EXTERN() [2/2]

DECLARE_MEMORY_STAT_EXTERN ( TEXT("Vertex/Index Buffer Pool Memory (CPU)")  ,
STAT_SlateBufferPoolMemory  ,
STATGROUP_SlateMemory  ,
SLATECORE_API   
)