9#define WITH_ATLAS_DEBUGGING (WITH_EDITOR || IS_PROGRAM) && !UE_BUILD_SHIPPING
139#if WITH_ATLAS_DEBUGGING
210 inline uint8 GetPaddingAmount()
const
234#if !(UE_BUILD_SHIPPING || UE_BUILD_TEST)
309 int32 CurrentMaxGrayscaleAtlasPagesBeforeFlushRequest;
312 int32 CurrentMaxColorAtlasPagesBeforeFlushRequest;
315 int32 CurrentMaxMsdfAtlasPagesBeforeFlushRequest;
318 int32 CurrentMaxNonAtlasedTexturesBeforeFlushRequest;
321 uint64 FrameCounterLastFlushRequest;
342#if WITH_ATLAS_DEBUGGING
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ESlateTextureAtlasThreadId
Definition TextureAtlas.h:44
ESlateFontAtlasContentType
Definition TextureAtlas.h:17
SLATECORE_API ESlateTextureAtlasThreadId GetCurrentSlateTextureAtlasThreadId()
Definition TextureAtlas.cpp:18
SLATECORE_API uint32 GetSlateFontAtlasContentBytesPerPixel(ESlateFontAtlasContentType InContentType)
Definition TextureAtlas.cpp:35
ESlateTextureAtlasPaddingStyle
Definition TextureAtlas.h:31
@ PadWithZero
Definition TextureAtlas.h:37
@ NoPadding
Definition TextureAtlas.h:33
@ DilateBorder
Definition TextureAtlas.h:35
Definition NameTypes.h:617
Definition TextureAtlas.h:283
void UpdateFlushCounters(int32 NumGrayscale, int32 NumColor, int32 NumMsdf, int32 NumNonAtlased)
Definition TextureAtlas.cpp:410
virtual void RequestFlushCache(const FString &Reason)=0
virtual ~FSlateFlushableAtlasCache()
Definition TextureAtlas.h:287
void ResetFlushCounters()
Definition TextureAtlas.cpp:401
Definition SlateRect.h:26
Definition SlateShaderResource.h:44
Definition TextureAtlas.h:99
uint32 GetHeight() const
Definition TextureAtlas.h:122
TArray< FAtlasedTextureSlot * > AtlasEmptySlotsMap
Definition TextureAtlas.h:220
virtual FSlateShaderResource * GetAtlasTexture() const =0
uint32 AtlasHeight
Definition TextureAtlas.h:224
uint32 BytesPerPixel
Definition TextureAtlas.h:226
SLATECORE_API void CopyDataIntoSlot(const FAtlasedTextureSlot *SlotToCopyTo, const TArray< uint8 > &Data)
Definition TextureAtlas.cpp:209
static int32 GetFreeSlotSearchIndex(uint32 InWidth, uint32 InHeight)
Definition TextureAtlas.cpp:377
void AddFreeSlot(uint32 InX, uint32 InY, uint32 InWidth, uint32 InHeight)
Definition TextureAtlas.cpp:383
SLATECORE_API void EmptyAtlasData()
Definition TextureAtlas.cpp:79
TArray< uint8 > AtlasData
Definition TextureAtlas.h:216
virtual SLATECORE_API ~FSlateTextureAtlas()
Definition TextureAtlas.cpp:70
SLATECORE_API const FAtlasedTextureSlot * AddTexture(uint32 TextureWidth, uint32 TextureHeight, const TArray< uint8 > &Data)
Definition TextureAtlas.cpp:111
SLATECORE_API void InitAtlasData()
Definition TextureAtlas.cpp:141
SLATECORE_API void ZeroRow(const FCopyRowData &CopyRowData)
Definition TextureAtlas.cpp:198
uint32 GetWidth() const
Definition TextureAtlas.h:120
SLATECORE_API void MarkTextureDirty()
Definition TextureAtlas.cpp:127
SLATECORE_API const FAtlasedTextureSlot * FindSlotForTexture(uint32 InWidth, uint32 InHeight)
Definition TextureAtlas.cpp:299
ESlateTextureAtlasThreadId AtlasOwnerThread
Definition TextureAtlas.h:239
bool bNeedsUpdate
Definition TextureAtlas.h:231
SLATECORE_API void CopyRow(const FCopyRowData &CopyRowData)
Definition TextureAtlas.cpp:163
ESlateTextureAtlasPaddingStyle PaddingStyle
Definition TextureAtlas.h:228
FAtlasedTextureSlot * AtlasUsedSlots
Definition TextureAtlas.h:218
bool bUpdatesAfterInitialization
Definition TextureAtlas.h:233
virtual void ReleaseResources()=0
virtual void ConditionalUpdateTexture()=0
uint32 AtlasWidth
Definition TextureAtlas.h:222
Definition TextureAtlas.h:328
virtual int32 GetNumAtlasPages() const =0
virtual class FSlateShaderResource * GetAtlasPageResource(const int32 InIndex) const =0
virtual ~ISlateAtlasProvider()
Definition TextureAtlas.h:331
virtual bool IsAtlasPageResourceAlphaOnly(const int32 InIndex) const =0
Definition TextureAtlas.h:262
virtual void ReleaseTextureAtlases(const TArray< TUniquePtr< FSlateTextureAtlas > > &InTextureAtlases, const TArray< TUniquePtr< FSlateShaderResource > > &InNonAtlasedTextures, const bool bWaitForRelease) const =0
virtual TUniquePtr< FSlateTextureAtlas > CreateTextureAtlas(int32 AtlasSize, int32 AtlasStride, ESlateTextureAtlasPaddingStyle PaddingStyle, bool bUpdatesAfterInitialization) const =0
virtual TUniquePtr< FSlateShaderResource > CreateNonAtlasedTexture(const uint32 InWidth, const uint32 InHeight, const TArray< uint8 > &InRawData) const =0
virtual ~ISlateTextureAtlasFactory()
Definition TextureAtlas.h:264
Definition UniquePtr.h:107
Definition TextureAtlas.h:274
int32 GrowNonAtlasFrameWindow
Definition TextureAtlas.h:278
int32 InitialMaxNonAtlasPagesBeforeFlushRequest
Definition TextureAtlas.h:276
int32 InitialMaxAtlasPagesBeforeFlushRequest
Definition TextureAtlas.h:275
int32 GrowAtlasFrameWindow
Definition TextureAtlas.h:277
Definition TextureAtlas.h:244
FSlateRect AtlasSlotRect
Definition TextureAtlas.h:255
bool operator!=(const FAtlasSlotInfo &Other) const
Definition TextureAtlas.h:250
FName TextureName
Definition TextureAtlas.h:256
FAtlasSlotInfo()
Definition TextureAtlas.h:245
Definition TextureAtlas.h:72
uint32 Width
Definition TextureAtlas.h:78
uint8 Padding
Definition TextureAtlas.h:82
uint32 Height
Definition TextureAtlas.h:80
FAtlasedTextureSlot(uint32 InX, uint32 InY, uint32 InWidth, uint32 InHeight, uint8 InPadding)
Definition TextureAtlas.h:84
uint32 X
Definition TextureAtlas.h:74
uint32 Y
Definition TextureAtlas.h:76
Definition TextureAtlas.h:167
uint32 RowWidth
Definition TextureAtlas.h:177
uint32 SrcTextureWidth
Definition TextureAtlas.h:179
uint8 * DestData
Definition TextureAtlas.h:171
uint32 SrcRow
Definition TextureAtlas.h:173
const uint8 * SrcData
Definition TextureAtlas.h:169
uint32 DestTextureWidth
Definition TextureAtlas.h:181
uint32 DestRow
Definition TextureAtlas.h:175