15#include <peak_common_c/detail/peak_common_defines.h>
52 PEAK_COMMON_NO_DISCARD
virtual const uint8_t*
GetData()
const = 0;
60 PEAK_COMMON_NO_DISCARD
virtual uint8_t*
GetData() = 0;
105 PEAK_COMMON_NO_DISCARD
virtual uint32_t
GetWidth()
const = 0;
113 PEAK_COMMON_NO_DISCARD
virtual uint32_t
GetHeight()
const = 0;
137 PEAK_COMMON_NO_DISCARD
virtual std::shared_ptr<peak::common::Metadata>
GetMetadata() = 0;
145 PEAK_COMMON_NO_DISCARD
virtual std::shared_ptr<const peak::common::Metadata>
GetMetadata()
const = 0;
Interface for viewing image pixel data from arbitrary sources.
virtual peak::common::PixelFormat GetPixelFormat() const =0
Returns the pixel format used by the image.
virtual size_t GetBytesPerLine() const =0
Returns the number of bytes in a single image row.
virtual std::size_t GetSizeInBytes() const =0
Returns the total size of the image data in bytes.
virtual size_t GetBitsPerPixel() const =0
Returns the number of bits that each pixel occupies.
virtual peak::common::PixelFormatInfo GetPixelFormatInfo() const =0
Returns a helper object describing the pixel format in detail.
virtual std::shared_ptr< const peak::common::Metadata > GetMetadata() const =0
Returns the metadata object which can be used to retrieve metadata belonging to the image.
virtual std::shared_ptr< peak::common::Metadata > GetMetadata()=0
Returns the metadata object which can be used to retrieve or set metadata belonging to the image.
virtual uint32_t GetWidth() const =0
Returns the width of the image in pixels.
virtual uint8_t * GetData()=0
Returns a writable pointer to the beginning of the image buffer.
virtual const uint8_t * GetData() const =0
Returns a read-only pointer to the beginning of the image buffer.
virtual Size GetSize() const =0
Returns the overall size of the image (width × height).
virtual uint32_t GetHeight() const =0
Returns the height of the image in pixels.
virtual ~IImageView()=default
Represents a two-dimensional size with non-negative width and height.
PixelFormat
Enum listing all supported pixel formats and their internal IDs.