154 template<EElementType ElementType>
161#if WITH_SLATE_DEBUGGING
170 ListsWithNewData.AddUnique(List.Get());
178 List->AddCachedClipState(CachedClipState);
237 return WeakPaintWindow.
IsValid() ? RawPaintWindow :
nullptr;
245 return RenderTargetWindow !=
nullptr ? RenderTargetWindow :
GetPaintWindow();
251 return UncachedDrawElements;
264 template<EElementType ElementType = EElementType::ET_NonMapped>
269 const bool bAllowCache = CachedElementDataListStack.Num() > 0 && WidgetDrawStack.Num() && !WidgetDrawStack.Top().bIsVolatile;
282#if WITH_SLATE_DEBUGGING
346 const bool bParentEnabled;
394 FinishMergeRenderBatches();
400 FinishMergeRenderBatches();
413 if (GetCurrentCachedElementData() !=
nullptr)
415 return CachedElementDataList[CachedElementDataListStack.Top()]->GetListsWithNewData();
424 template<EElementType ElementType>
443 FSlateCachedElementData* GetCurrentCachedElementData()
const {
return CachedElementDataListStack.Num() ? CachedElementDataList[CachedElementDataListStack.Top()] :
nullptr; }
485 bool bNeedsDeferredResolve;
491 struct FWidgetDrawElementState
constexpr auto MakeArrayView(OtherRangeType &&Other)
Definition ArrayView.h:873
#define check(expr)
Definition AssertionMacros.h:314
#define STAT(x)
Definition Stats.h:44
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EElementType
Definition DrawElementCoreTypes.h:35
typename TTupleElement<(uint8) ElementType, FSlateDrawElementMap >::Type::ElementType TSlateDrawElement
Definition DrawElementCoreTypes.h:200
ESlateDrawPrimitive
Definition RenderingCommon.h:49
ESlateBatchDrawFlag
Definition RenderingCommon.h:118
ESlateDrawEffect
Definition RenderingCommon.h:89
ESlateShader
Definition RenderingCommon.h:60
CORE_API bool IsInSlateThread()
Definition ThreadingBase.cpp:222
CORE_API bool IsInGameThread()
Definition ThreadingBase.cpp:185
Definition UnrealTemplate.h:321
Definition PaintArgs.h:23
Definition UObjectGlobals.h:2492
Definition ElementBatcher.h:154
Definition Clipping.h:329
TSharedRef< FSlateClippingState, ESPMode::ThreadSafe > ClippingState
Definition Clipping.h:335
Definition Clipping.h:343
int32 GetStackDepth() const
Definition Clipping.h:356
Definition Clipping.h:207
static SLATECORE_API FDrawElementType ElementTypeAdded
Definition SlateDebugging.h:326
Definition DrawElementTypes.h:46
Definition ElementBatcher.h:246
Definition SlateRect.h:26
Definition SlateRenderBatch.h:45
Definition SlateResourceHandle.h:16
Definition SlateShaderResource.h:44
Definition DrawElements.h:220
SLATECORE_API void PopClipToStackIndex(int32 Index)
Definition DrawElements.cpp:305
SLATECORE_API void PopClip()
Definition DrawElements.cpp:300
SLATECORE_API void SetIsInGameLayer(bool bInGameLayer)
Definition DrawElements.cpp:68
bool ShouldResolveDeferred() const
Definition DrawElements.h:353
const FSlateDrawElementMap & GetUncachedDrawElements() const
Definition DrawElements.h:249
FSlateBatchData & GetBatchData()
Definition DrawElements.h:392
void PopCachedElementData()
Definition DrawElements.cpp:216
TArrayView< FSlateCachedElementList *const > GetCurrentCachedElementWithNewData() const
Definition DrawElements.h:411
SLATECORE_API void QueueDeferredPainting(const FDeferredPaint &InDeferredPaint)
Definition DrawElements.cpp:142
SLATECORE_API void BeginDeferredGroup()
Definition DrawElements.cpp:166
SLATECORE_API FSlateDrawElement & AddUninitializedLookup(EElementType InElementType=EElementType::ET_NonMapped)
Definition DrawElements.cpp:221
SLATECORE_API int32 GetClippingIndex() const
Definition DrawElements.cpp:290
SLATECORE_API void ResetElementList()
Definition DrawElements.cpp:338
UE::Slate::FDeprecateVector2DResult GetWindowSize() const
Definition DrawElements.h:255
SLATECORE_API EWidgetPixelSnapping GetPixelSnappingMethod() const
Definition DrawElements.cpp:324
SLATECORE_API void SetRenderTargetWindow(SWindow *InRenderTargetWindow)
Definition DrawElements.cpp:329
SWindow * GetPaintWindow() const
Definition DrawElements.h:234
SLATECORE_API ~FSlateWindowElementList()
Definition DrawElements.cpp:63
SLATECORE_API FSlateCachedElementsHandle PopPaintingWidget(const SWidget &CurrentWidget)
Definition DrawElements.cpp:194
TSlateDrawElement< ElementType > & AddUninitialized()
Definition DrawElements.h:265
FSlateClippingManager & GetClippingManager()
Definition DrawElements.h:310
void PushCachedElementData(FSlateCachedElementData &CachedElementData)
Definition DrawElements.cpp:209
const FSlateClippingManager & GetClippingManager() const
Definition DrawElements.h:311
SLATECORE_API void EndDeferredGroup()
Definition DrawElements.cpp:171
SLATECORE_API bool GetIsInGameLayer()
Definition DrawElements.cpp:73
SLATECORE_API int32 PushClip(const FSlateClippingZone &InClipZone)
Definition DrawElements.cpp:283
SLATECORE_API int32 PushPixelSnappingMethod(EWidgetPixelSnapping InPixelSnappingMethod)
Definition DrawElements.cpp:310
SLATECORE_API void PopPixelSnappingMethod()
Definition DrawElements.cpp:316
int32 GetClippingStackDepth() const
Definition DrawElements.h:304
TArray< TSharedPtr< FDeferredPaint > > GetDeferredPaintList() const
Definition DrawElements.h:358
FSlateBatchData & GetBatchDataHDR()
Definition DrawElements.h:398
SLATECORE_API void PushPaintingWidget(const SWidget &CurrentWidget, int32 StartingLayerId, FSlateCachedElementsHandle &CurrentCacheHandle)
Definition DrawElements.cpp:176
void AddReferencedObjects(FReferenceCollector &Collector)
Definition DrawElements.cpp:376
int32 PaintDeferred(int32 LayerId, const FSlateRect &MyCullingRect)
Definition DrawElements.cpp:147
SLATECORE_API TOptional< FSlateClippingState > GetClippingState() const
Definition DrawElements.cpp:295
SWindow * GetRenderWindow() const
Definition DrawElements.h:241
Definition ArrayView.h:139
Definition SharedPointer.h:692
Definition SharedPointer.h:153
ObjectType & Get() const
Definition SharedPointer.h:474
Definition SparseArray.h:524
Definition SharedPointer.h:1295
UE_FORCEINLINE_HINT TSharedPtr< ObjectType, Mode > Pin() const &
Definition SharedPointer.h:1512
UE_FORCEINLINE_HINT bool IsValid() const
Definition SharedPointer.h:1535
FDeprecateSlateVector2D FDeprecateVector2DResult
Definition SlateVector2.h:469
U16 Index
Definition radfft.cpp:71
Definition RenderingCommon.h:187
Definition SlateBrush.h:239
Definition DrawElements.h:140
TArrayView< FSlateCachedElementList *const > GetListsWithNewData() const
Definition DrawElements.h:196
void Empty()
Definition DrawElements.cpp:417
FSlateRenderBatch & AddCachedRenderBatch(FSlateRenderBatch &&NewBatch, int32 &OutIndex)
Definition DrawElements.cpp:454
void CleanupUnusedClipStates()
Definition DrawElements.cpp:483
FSlateCachedElementsHandle AddCache(const SWidget *Widget)
Definition DrawElements.cpp:437
FSlateCachedClipState & FindOrAddCachedClipState(const FSlateClippingState *RefClipState)
Definition DrawElements.cpp:470
const TArray< TSharedPtr< FSlateCachedElementList > > & GetCachedElementLists() const
Definition DrawElements.h:192
const TSparseArray< FSlateRenderBatch > & GetCachedBatches() const
Definition DrawElements.h:191
void AddReferencedObjects(FReferenceCollector &Collector)
Definition DrawElements.cpp:508
void RemoveCachedRenderBatches(const TArray< int32 > &CachedRenderBatchIndices)
Definition DrawElements.cpp:462
static const FSlateClippingState * GetClipStateFromParent(const FSlateClippingManager &ParentClipManager)
Definition DrawElements.cpp:395
TSlateDrawElement< ElementType > & AddCachedElement(FSlateCachedElementsHandle &CacheHandle, const FSlateClippingManager &ParentClipManager, const SWidget *CurrentWidget)
Definition DrawElements.h:155
SLATECORE_API void ValidateWidgetOwner(TSharedPtr< FSlateCachedElementList > List, const SWidget *CurrentWidget)
Definition DrawElements.cpp:409
Definition DrawElements.h:48
void ClearCachedElements()
Definition DrawElements.cpp:521
SLATECORE_API ~FSlateCachedElementList()
Definition DrawElements.cpp:516
void Initialize()
Definition DrawElements.h:56
FSlateRenderBatch & AddRenderBatch(int32 InLayer, const FShaderParams &InShaderParams, const FSlateShaderResource *InResource, ESlateDrawPrimitive InPrimitiveType, ESlateShader InShaderType, ESlateDrawEffect InDrawEffects, ESlateBatchDrawFlag InDrawFlags, int8 SceneIndex)
Definition DrawElements.cpp:529
FSlateCachedElementData * ParentData
Definition DrawElements.h:94
const SWidget * OwningWidget
Definition DrawElements.h:92
TArray< int32 > CachedRenderBatchIndices
Definition DrawElements.h:89
SLATECORE_API bool IsEmpty()
Definition DrawElements.cpp:566
FSlateCachedElementList(FSlateCachedElementData *InParentData, const SWidget *InWidget)
Definition DrawElements.h:49
void AddCachedClipState(FSlateCachedClipState &ClipStateToCache)
Definition DrawElements.cpp:542
FSlateCachedFastPathRenderingData * CachedRenderingData
Definition DrawElements.h:96
FSlateCachedElementData * GetOwningData()
Definition DrawElements.h:65
void AddReferencedObjects(FReferenceCollector &Collector)
Definition DrawElements.cpp:547
SLATECORE_API int32 NumElements()
Definition DrawElements.cpp:583
FSlateDrawElementMap DrawElements
Definition DrawElements.h:87
Definition DrawElements.h:106
void RemoveFromCache()
Definition DrawElements.cpp:643
FSlateCachedElementsHandle()
Definition DrawElements.h:120
static FSlateCachedElementsHandle Invalid
Definition DrawElements.h:109
bool operator!=(FSlateCachedElementsHandle &Other) const
Definition DrawElements.h:118
void ClearCachedElements()
Definition DrawElements.cpp:635
bool HasCachedElements() const
Definition DrawElements.cpp:664
bool IsValid() const
Definition DrawElements.h:115
bool IsOwnedByWidget(const SWidget *Widget) const
Definition DrawElements.cpp:654
Definition DrawElements.h:29
~FSlateCachedFastPathRenderingData()
Definition DrawElements.h:30
FSlateVertexArray Vertices
Definition DrawElements.h:36
FSlateIndexArray Indices
Definition DrawElements.h:37
TArray< FSlateCachedClipState, TInlineAllocator< 1 > > CachedClipStates
Definition DrawElements.h:35
Definition SlateDebugging.h:117
Definition DrawElementTypes.h:395
Definition DrawElements.h:330
SLATECORE_API int32 ExecutePaint(int32 LayerId, FSlateWindowElementList &OutDrawElements, const FSlateRect &MyCullingRect) const
Definition DrawElements.cpp:125
Definition Optional.h:131
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 > >