Grok 10.0.5
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: