86 const void* RawPtr =
nullptr;
96 check( NumChannels == 4 );
102 check(BitDepth == 8 );
108 check(BitDepth == 16 );
114 check(BitDepth == 32 );
140 const void* RawPtr =
nullptr;
151 const void* RawPtr =
nullptr;
154 RetrieveData(RawPtr, SizeBytes);
171 const void* RawPtr =
nullptr;
174 RetrieveData(RawPtr, SizeBytes);
262template<
typename PixelType>
307 enum { BitDepth = 8, NumChannels = 4 };
315 enum { BitDepth = 16, NumChannels = 4 };
323 enum { BitDepth = 32, NumChannels = 4 };
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ERGBFormat
Definition IImageWrapper.h:76
TSharedPtr< IImagePixelDataPayload, ESPMode::ThreadSafe > FImagePixelPayloadPtr
Definition ImagePixelData.h:28
EImagePixelType
Definition ImagePixelData.h:17
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition Float16Color.h:13
Definition SharedPointer.h:692
UE_FORCEINLINE_HINT ObjectType * Get() const
Definition SharedPointer.h:1065
Definition UniquePtr.h:107
IMAGECORE_API void SetAlphaOpaque(const FImageView &InImage)
Definition ImageCore.cpp:1733
int64 GetImageSizeBytes() const
Definition ImageCore.h:205
Definition ImagePixelData.h:35
T * GetPayload()
Definition ImagePixelData.h:198
FImagePixelData(const FIntPoint &InSize, EImagePixelType InPixelType, ERGBFormat InPixelLayout, uint8 InBitDepth, uint8 InNumChannels, FImagePixelPayloadPtr InPayload)
Definition ImagePixelData.h:216
void SetSRGB(bool InSRGB)
Definition ImagePixelData.h:212
FImageView GetImageView() const
Definition ImagePixelData.h:84
void SetAlphaOpaque()
Definition ImagePixelData.h:130
bool GetSRGB() const
Definition ImagePixelData.h:211
int64 GetRawDataSizeInBytes() const
Definition ImagePixelData.h:169
EImagePixelType GetType() const
Definition ImagePixelData.h:44
virtual ~FImagePixelData()
Definition ImagePixelData.h:36
bool GetRawData(const void *&OutRawData, int64 &OutSizeBytes) const
Definition ImagePixelData.h:149
bool IsDataWellFormed() const
Definition ImagePixelData.h:138
const T * GetPayload() const
Definition ImagePixelData.h:204
FIntPoint GetSize() const
Definition ImagePixelData.h:52
ERGBFormat GetPixelLayout() const
Definition ImagePixelData.h:60
TUniquePtr< FImagePixelData > MoveImageDataToNew()
Definition ImagePixelData.h:189
void SetPayload(FImagePixelPayloadPtr NewPayload)
Definition ImagePixelData.h:209
uint8 GetNumChannels() const
Definition ImagePixelData.h:76
TUniquePtr< FImagePixelData > CopyImageData() const
Definition ImagePixelData.h:181
uint8 GetBitDepth() const
Definition ImagePixelData.h:68
Definition ImageCore.h:264
Definition ImagePixelData.h:24
virtual ~IImagePixelDataPayload()
Definition ImagePixelData.h:25
Definition ImagePixelData.h:12
Definition ImagePixelData.h:264
TArray64< PixelType > Pixels
Definition ImagePixelData.h:265
TImagePixelData(const FIntPoint &InSize, TArray64< PixelType > &&InPixels, FImagePixelPayloadPtr InPayload)
Definition ImagePixelData.h:280
TImagePixelData(const FIntPoint &InSize, FImagePixelPayloadPtr InPayload)
Definition ImagePixelData.h:276
TImagePixelData(const FIntPoint &InSize, TArray64< PixelType > &&InPixels)
Definition ImagePixelData.h:271
TImagePixelData(const FIntPoint &InSize)
Definition ImagePixelData.h:267
virtual TUniquePtr< FImagePixelData > Move() override
Definition ImagePixelData.h:285
virtual void RetrieveData(const void *&OutDataPtr, int64 &OutSizeBytes) const override
Definition ImagePixelData.h:295
virtual TUniquePtr< FImagePixelData > Copy() const override
Definition ImagePixelData.h:290
IntType Y
Definition IntPoint.h:37
IntType X
Definition IntPoint.h:34