Grok 15.1.0
grk::SparseCanvas< LBW, LBH > Class Template Reference

#include <SparseCanvas.h>

Inheritance diagram for grk::SparseCanvas< LBW, LBH >:
grk::ISparseCanvas

Public Member Functions

 SparseCanvas (grk_rect32 bds)
 SparseCanvas (uint32_t width, uint32_t height)
 ~SparseCanvas ()
bool read (uint8_t resno, grk_rect32 window, int32_t *dest, const uint32_t destChunkY, const uint32_t destChunkX)
 Read window of data into dest buffer.
bool write (uint8_t resno, grk_rect32 window, const int32_t *src, const uint32_t srcChunkY, const uint32_t srcChunkX)
 Write window of data from src buffer.
bool alloc (grk_rect32 win, bool zeroOutBuffer)
Public Member Functions inherited from grk::ISparseCanvas
virtual ~ISparseCanvas ()=default

Private Member Functions

SparseBlockgetBlock (uint32_t block_x, uint32_t block_y)
bool isWindowValid (grk_rect32 win)
bool readWrite (uint8_t resno, grk_rect32 win, int32_t *buf, const uint32_t spacingX, const uint32_t spacingY, bool isReadOperation)

Private Attributes

const uint32_t blockWidth
const uint32_t blockHeight
SparseBlock ** blocks
grk_rect32 bounds
grk_rect32 grid

Constructor & Destructor Documentation

◆ SparseCanvas() [1/2]

template<uint32_t LBW, uint32_t LBH>
grk::SparseCanvas< LBW, LBH >::SparseCanvas ( grk_rect32 bds)
inline

References blockHeight, blocks, blockWidth, bounds, and grid.

Referenced by SparseCanvas().

◆ SparseCanvas() [2/2]

template<uint32_t LBW, uint32_t LBH>
grk::SparseCanvas< LBW, LBH >::SparseCanvas ( uint32_t width,
uint32_t height )
inline

References SparseCanvas().

◆ ~SparseCanvas()

template<uint32_t LBW, uint32_t LBH>
grk::SparseCanvas< LBW, LBH >::~SparseCanvas ( )
inline

References blocks, and grid.

Member Function Documentation

◆ alloc()

template<uint32_t LBW, uint32_t LBH>
bool grk::SparseCanvas< LBW, LBH >::alloc ( grk_rect32 win,
bool zeroOutBuffer )
inlinevirtual

◆ getBlock()

template<uint32_t LBW, uint32_t LBH>
SparseBlock * grk::SparseCanvas< LBW, LBH >::getBlock ( uint32_t block_x,
uint32_t block_y )
inlineprivate

References blocks, and grid.

Referenced by alloc(), and readWrite().

◆ isWindowValid()

template<uint32_t LBW, uint32_t LBH>
bool grk::SparseCanvas< LBW, LBH >::isWindowValid ( grk_rect32 win)
inlineprivate

◆ read()

template<uint32_t LBW, uint32_t LBH>
bool grk::SparseCanvas< LBW, LBH >::read ( uint8_t resno,
grk_rect32 window,
int32_t * dest,
const uint32_t destChunkY,
const uint32_t destChunkX )
inlinevirtual

Read window of data into dest buffer.

Implements grk::ISparseCanvas.

References readWrite().

◆ readWrite()

template<uint32_t LBW, uint32_t LBH>
bool grk::SparseCanvas< LBW, LBH >::readWrite ( uint8_t resno,
grk_rect32 win,
int32_t * buf,
const uint32_t spacingX,
const uint32_t spacingY,
bool isReadOperation )
inlineprivate

◆ write()

template<uint32_t LBW, uint32_t LBH>
bool grk::SparseCanvas< LBW, LBH >::write ( uint8_t resno,
grk_rect32 window,
const int32_t * src,
const uint32_t srcChunkY,
const uint32_t srcChunkX )
inlinevirtual

Write window of data from src buffer.

Implements grk::ISparseCanvas.

References readWrite().

Member Data Documentation

◆ blockHeight

template<uint32_t LBW, uint32_t LBH>
const uint32_t grk::SparseCanvas< LBW, LBH >::blockHeight
private

Referenced by alloc(), readWrite(), and SparseCanvas().

◆ blocks

template<uint32_t LBW, uint32_t LBH>
SparseBlock** grk::SparseCanvas< LBW, LBH >::blocks
private

◆ blockWidth

template<uint32_t LBW, uint32_t LBH>
const uint32_t grk::SparseCanvas< LBW, LBH >::blockWidth
private

Referenced by alloc(), readWrite(), and SparseCanvas().

◆ bounds

template<uint32_t LBW, uint32_t LBH>
grk_rect32 grk::SparseCanvas< LBW, LBH >::bounds
private

◆ grid

template<uint32_t LBW, uint32_t LBH>
grk_rect32 grk::SparseCanvas< LBW, LBH >::grid
private

The documentation for this class was generated from the following file: