Interface for viewing image pixel data from arbitrary sources.
Definition peak_common_iimageview.hpp:42
virtual PEAK_COMMON_NO_DISCARD peak::common::PixelFormatInfo GetPixelFormatInfo() const =0
Returns a helper object describing the pixel format in detail.
virtual PEAK_COMMON_NO_DISCARD std::size_t GetSizeInBytes() const =0
Returns the total size of the image data in bytes.
virtual ~IImageView()=default
virtual PEAK_COMMON_NO_DISCARD size_t GetBytesPerLine() const =0
Returns the number of bytes in a single image row.
virtual PEAK_COMMON_NO_DISCARD std::size_t GetLineStartOffset() const =0
Returns the byte offset to the first pixel of a line.
virtual PEAK_COMMON_NO_DISCARD uint8_t * GetData()=0
Returns a pointer to the start of the first line that contains valid image data (read-write).
virtual PEAK_COMMON_NO_DISCARD size_t GetBitsPerPixel() const =0
Returns the number of bits that each pixel occupies.
virtual PEAK_COMMON_NO_DISCARD 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 PEAK_COMMON_NO_DISCARD const uint8_t * GetData() const =0
Returns a pointer to the start of the first line that contains valid image data (read-only).
virtual PEAK_COMMON_NO_DISCARD peak::common::PixelFormat GetPixelFormat() const =0
Returns the pixel format used by the image.
virtual PEAK_COMMON_NO_DISCARD uint32_t GetHeight() const =0
Returns the height of the image in pixels.
virtual PEAK_COMMON_NO_DISCARD 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 PEAK_COMMON_NO_DISCARD Size GetSize() const =0
Returns the overall size of the image (width × height).
virtual PEAK_COMMON_NO_DISCARD uint32_t GetWidth() const =0
Returns the width of the image in pixels.
#define PEAK_COMMON_NO_DISCARD
Compatability macro for the nodiscard attribute.
Definition peak_common_defines.h:86
detail::SizeT< uint32_t > Size
Size with unsigned 32-bit integer dimensions.
Definition peak_common_size.hpp:273
PixelFormat
Enum listing all supported pixel formats and their internal IDs.
Definition peak_common_pixel_format.hpp:52
Root namespace for common types and interfaces shared across multiple libraries.
Definition peak_common_math.hpp:22