Grok 12.0.1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
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

◆ SparseCanvas() [2/2]

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

◆ ~SparseCanvas()

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

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

◆ 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 grk::grk_read(), and grk::SparseCanvas< LBW, LBH >::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 grk::grk_read(), and grk::SparseCanvas< LBW, LBH >::readWrite().

Member Data Documentation

◆ blockHeight

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

◆ 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

◆ 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: