#include <gfx_image_storage.h>
Object that can store pixel data in a special layout (e.g. compact, plain, or tiles).
Public Member Functions | |
| MAXON_METHOD Result< void > | Init (Int width, Int height, const PixelFormat &format, const Block< Pix > *defaultColor) |
| MAXON_METHOD Int | GetWidth () const |
| MAXON_METHOD Int | GetHeight () const |
| MAXON_METHOD Int | GetChannelCount () const |
| MAXON_METHOD PixelFormat | GetPixelFormat () const |
| MAXON_METHOD Result< GetPixelHandlerStruct > | GetPixelHandler (const PixelFormat &dstFormat, const ChannelOffsets &channelOffsets, const ColorProfile &srcColorProfile, const ColorProfile &dstColorProfile, GETPIXELHANDLERFLAGS flags) const |
| MAXON_METHOD Result< SetPixelHandlerStruct > | SetPixelHandler (const PixelFormat &srcFormat, const ChannelOffsets &channelOffsets, const ColorProfile &srcColorProfile, const ColorProfile &dstColorProfile, SETPIXELHANDLERFLAGS flags, const Delegate< void(const UpdateRegion &)> &updateRegionNotification) |
| MAXON_METHOD Result< void > | GetComponent (Int component, const ImagePos &pos, Pix *data, Int inc, GETPIXELFLAGS flags) const |
| MAXON_METHOD Result< void > | SetComponent (Int component, const ImagePos &pos, const Pix *data, Int inc, SETPIXELFLAGS flags) |
Private Member Functions | |
| MAXON_INTERFACE (ImagePixelStorageInterface, MAXON_REFERENCE_COPY_ON_WRITE, "net.maxon.image.interface.imagepixelstorage", MAXON_IMPLEMENTATION_MODULE("net.maxon.image")) | |
|
private |
| MAXON_METHOD Result<void> Init | ( | Int | width, |
| Int | height, | ||
| const PixelFormat & | format, | ||
| const Block< Pix > * | defaultColor | ||
| ) |
Initializes the pixel storage.
| [in] | width | Width of the image data. |
| [in] | height | Height of the image data. |
| [in] | format | Pixel format of the pixel storage, e.g. ImagePixelStorageClasses::Normal. |
| [in] | defaultColor | Optional default color to return if no image data is present. Must be in the given PixelFormat. Can be nullptr. |
| MAXON_METHOD Int GetWidth | ( | ) | const |
Returns the width of the pixel storage.
| MAXON_METHOD Int GetHeight | ( | ) | const |
Returns the height of the pixel storage.
| MAXON_METHOD Int GetChannelCount | ( | ) | const |
Returns the total number of channels of the pixel storage.
| MAXON_METHOD PixelFormat GetPixelFormat | ( | ) | const |
Returns the pixel format connected to this pixel storage.
| MAXON_METHOD Result<GetPixelHandlerStruct> GetPixelHandler | ( | const PixelFormat & | dstFormat, |
| const ChannelOffsets & | channelOffsets, | ||
| const ColorProfile & | srcColorProfile, | ||
| const ColorProfile & | dstColorProfile, | ||
| GETPIXELHANDLERFLAGS | flags | ||
| ) | const |
To access pixel data a GetPixelHandlerStruct is needed. This optimizes the access to the pixel data see GetPixelHandlerStruct.
| [in] | dstFormat | Destination pixel format that should be read with this pixel handler. |
| [in] | channelOffsets | Destination channel offset in bits. |
| [in] | srcColorProfile | Optional parameter which is only necessary if the color spaces of the given pixel formats doesn't match. In that case the conversion will be performed using the correct color conversion. |
| [in] | dstColorProfile | Optional parameter which is only necessary if the color spaces of the given pixel formats doesn't match. In that case the conversion will be performed using the correct color conversion. |
| [in] | flags | Flags for the GetPixel operation. |
| MAXON_METHOD Result<SetPixelHandlerStruct> SetPixelHandler | ( | const PixelFormat & | srcFormat, |
| const ChannelOffsets & | channelOffsets, | ||
| const ColorProfile & | srcColorProfile, | ||
| const ColorProfile & | dstColorProfile, | ||
| SETPIXELHANDLERFLAGS | flags, | ||
| const Delegate< void(const UpdateRegion &)> & | updateRegionNotification | ||
| ) |
To access pixel data a SetPixelHandlerStruct is needed. This optimizes the access to the pixel data see SetPixelHandlerStruct.
| [in] | srcFormat | Source pixel format that should be written with this pixel handler. |
| [in] | channelOffsets | Source channel offsets in bits. |
| [in] | srcColorProfile | Optional parameter which is only necessary if the color spaces of the given pixel formats doesn't match. In that case the conversion will be performed using the correct color conversion. |
| [in] | dstColorProfile | Optional parameter which is only necessary if the color spaces of the given pixel formats doesn't match. In that case the conversion will be performed using the correct color conversion. |
| [in] | flags | Flags for the SetPixel operation. |
| MAXON_METHOD Result<void> GetComponent | ( | Int | component, |
| const ImagePos & | pos, | ||
| Pix * | data, | ||
| Int | inc, | ||
| GETPIXELFLAGS | flags | ||
| ) | const |
Access single components of the image.
| [in] | component | Index of the component. |
| [in] | pos | ImagePos of the data to read. |
| [in] | data | Destination buffer. |
| [in] | inc | Distance between 2 pixels in the destination buffer. |
| [in] | flags | Flags to control the read operation. |
| MAXON_METHOD Result<void> SetComponent | ( | Int | component, |
| const ImagePos & | pos, | ||
| const Pix * | data, | ||
| Int | inc, | ||
| SETPIXELFLAGS | flags | ||
| ) |
Access single components of the image.
| [in] | component | Index of the component. |
| [in] | pos | ImagePos of the data to write. |
| [in] | data | Source buffer. |
| [in] | inc | Distance between 2 pixels in the source buffer. |
| [in] | flags | Flags to control the write operation. |