Class ISubBlockAttachmentAccessor#

Nested Relationships#

Nested Types#

Class Documentation#

class ISubBlockAttachmentAccessor#

This interface provides access to the attachment of a sub-block.

Public Functions

ISubBlockAttachmentAccessor() = default#
virtual ~ISubBlockAttachmentAccessor() = default#
ISubBlockAttachmentAccessor(const ISubBlockAttachmentAccessor&) = delete#
void operator=(const ISubBlockAttachmentAccessor&) = delete#
ISubBlockAttachmentAccessor(ISubBlockAttachmentAccessor&&) = delete#
ISubBlockAttachmentAccessor &operator=(ISubBlockAttachmentAccessor&&) = delete#
virtual std::shared_ptr<libCZI::ISubBlockMetadata> GetSubBlockMetadata() = 0#

Gets access to the sub block metadata object (for the sub-block this attachment belongs to).

Returns:

The sub block metadata object.

virtual bool HasChunkContainer() const = 0#

Query if the attachment is a chunk container.

Returns:

True if the attachment is a chunk container, false if not.

virtual bool EnumerateChunksInChunkContainer(const std::function<bool(int index, const ChunkInfo &info)> &functor_enum) const = 0#

Enumerate chunks in the chunk container (provided the attachment is a chunk container).

Parameters:

functor_enum – The functor that will be called for each chunk. The functor takes two parameters: the index of the chunk (starting with 0) and a ChunkInfo-structure containing information about the chunk.

Returns:

True if at least one chunk was found, false if no chunks were found (and the functor called at least once).

virtual libCZI::SubBlockAttachmentMaskInfoGeneral GetValidPixelMaskFromChunkContainer() const = 0#

Gets the valid pixel mask information from the chunk container (provided the attachment is a chunk container and contains a valid pixel mask).

inline libCZI::SubBlockAttachmentMaskInfoUncompressedBitonalBitmap GetValidPixelMaskAsUncompressedBitonalBitmap() const#

Gets the “valid pixel mask as an uncompressed bitonal bitmap” information (provided the attachment is a chunk container and contains a valid pixel mask and used representation type ‘0’).

Returns:

The “valid pixel mask as uncompressed bitonal bitmap” information.

inline std::shared_ptr<libCZI::IBitonalBitmapData> CreateBitonalBitmapFromMaskInfo() const#

Gets a bitonal bitmap created from the mask information (provided the attachment contains mask information of type ‘0’ - i.e. uncompressed bitonal bitmap).

Returns:

The bitonal bitmap representing the valid pixel mask.

Public Static Functions

static SubBlockAttachmentMaskInfoUncompressedBitonalBitmap GetValidPixelMaskAsUncompressedBitonalBitmap(const ISubBlockAttachmentAccessor *accessor)#

Gets the valid pixel mask as an uncompressed bitonal bitmap (static version, taking an accessor as argument).

Parameters:

accessor – The accessor.

Returns:

The “valid pixel mask as uncompressed bitonal bitmap” information.

static std::shared_ptr<libCZI::IBitonalBitmapData> CreateBitonalBitmapFromMaskInfo(const ISubBlockAttachmentAccessor *accessor)#

Gets a bitonal bitmap created from the mask information (provided the attachment contains mask information of type ‘0’ - i.e. uncompressed bitonal bitmap). This is the static version, taking an accessor as argument.

Parameters:

accessor – The accessor.

Returns:

The bitonal bitmap representing the valid pixel mask.

struct ChunkInfo#

For each chunk in a chunk container, this struct provides information about the chunk.

Public Members

libCZI::GUID guid#

The Guid identifying the chunk.

std::uint32_t offset#

The offset of the chunk in the attachment.

std::uint32_t size#

The size of the chunk in bytes.