8#include <Common/primitive_type.h>
32 std::size_t numPicComponents,
37 template<
typename PixelData>
40 std::size_t numPicComponents,
42 const PixelData* pixelData,
43 std::size_t pixelDataSize);
61 template<
typename PixelData>
63 const PixelData* pixelData,
64 std::size_t numPixelDataElements);
67 template<
typename FrameComponent, std::
size_t N>
73 template<
typename PictureComponent,
typename FrameComponent, std::
size_t N>
76 template<
typename PictureComponent>
77 std::size_t getByteIndex(std::size_t xPx, std::size_t yPx, std::size_t componentIndex)
const;
80 std::size_t m_numComponents;
82 std::unique_ptr<std::byte[]> m_data;
83 std::size_t m_numBytesInData;
Definition PictureData.h:21
const math::Vector2S & getSizePx() const
Definition PictureData.ipp:59
PictureData & operator=(PictureData &&rhs)
Definition PictureData.ipp:170
PictureData()
Creates an empty picture.
Definition PictureData.ipp:14
std::size_t getHeightPx() const
Definition PictureData.ipp:69
TSpan< std::byte > getBytes()
Definition PictureData.ipp:84
EPicturePixelComponent getComponentType() const
Definition PictureData.ipp:79
std::size_t getWidthPx() const
Definition PictureData.ipp:64
bool isEmpty() const
Definition PictureData.ipp:165
void setPixels(const PixelData *pixelData, std::size_t numPixelDataElements)
Set pixel data directly. This method also supports packed pixel data. For example,...
Definition PictureData.ipp:95
TFrame< FrameComponent, N > toFrame() const
Definition PictureData.ipp:123
std::size_t numComponents() const
Definition PictureData.ipp:74
The root for all renderer implementations.
Definition EEngineProject.h:6
std::span< const T, EXTENT > TSpanView
Same as TSpan, except that the objects are const-qualified. Note that for pointer types,...
Definition TSpan.h:19
EPicturePixelComponent
Definition picture_basics.h:11
std::span< T, EXTENT > TSpan
A contiguous sequence of objects of type T. Effectively the same as std::span.
Definition TSpan.h:12