Krita Source Code Documentation
Loading...
Searching...
No Matches
KisBufferStreamContigBase Class Reference

#include <kis_buffer_stream.h>

+ Inheritance diagram for KisBufferStreamContigBase:

Public Member Functions

 KisBufferStreamContigBase (uint8_t *src, uint16_t depth, tsize_t lineSize)
 
void moveToLine (tsize_t lineNumber) override
 
void moveToPos (tsize_t x, tsize_t y) override
 
void restart () override
 
tsize_t width () const override
 
tsize_t x () const override
 
tsize_t y () const override
 
 ~KisBufferStreamContigBase () override=default
 
- Public Member Functions inherited from KisBufferStreamBase
 KisBufferStreamBase (uint16_t depth)
 
virtual uint32_t nextValue ()=0
 
virtual ~KisBufferStreamBase ()=default
 

Protected Attributes

tsize_t m_lineNumber = 0
 
tsize_t m_lineOffset = 0
 
const tsize_t m_lineSize
 
uint16_t m_posinc = 0
 
uint8_t *const m_src
 
uint8_t * m_srcIt
 
- Protected Attributes inherited from KisBufferStreamBase
uint16_t m_depth
 

Detailed Description

Definition at line 35 of file kis_buffer_stream.h.

Constructor & Destructor Documentation

◆ KisBufferStreamContigBase()

KisBufferStreamContigBase::KisBufferStreamContigBase ( uint8_t * src,
uint16_t depth,
tsize_t lineSize )

Definition at line 12 of file kis_buffer_stream.cc.

16 : KisBufferStreamBase(depth)
17 , m_src(src)
18 , m_srcIt(src)
19 , m_posinc(8)
20 , m_lineSize(lineSize)
21{
22 KIS_ASSERT(depth <= 32);
23 restart();
24}
KisBufferStreamBase(uint16_t depth)
#define KIS_ASSERT(cond)
Definition kis_assert.h:33

References KIS_ASSERT, and restart().

◆ ~KisBufferStreamContigBase()

KisBufferStreamContigBase::~KisBufferStreamContigBase ( )
overridedefault

Member Function Documentation

◆ moveToLine()

void KisBufferStreamContigBase::moveToLine ( tsize_t lineNumber)
overridevirtual

Implements KisBufferStreamBase.

Definition at line 34 of file kis_buffer_stream.cc.

35{
36 KIS_ASSERT(lineNumber >= 0);
37 moveToPos(0, lineNumber);
38}
void moveToPos(tsize_t x, tsize_t y) override

References KIS_ASSERT, and moveToPos().

◆ moveToPos()

void KisBufferStreamContigBase::moveToPos ( tsize_t x,
tsize_t y )
overridevirtual

◆ restart()

void KisBufferStreamContigBase::restart ( )
overridevirtual

Implements KisBufferStreamBase.

Definition at line 26 of file kis_buffer_stream.cc.

27{
28 m_srcIt = m_src;
29 m_lineOffset = 0;
30 m_lineNumber = 0;
31 m_posinc = 8;
32}

References m_lineNumber, m_lineOffset, m_posinc, m_src, and m_srcIt.

◆ width()

tsize_t KisBufferStreamContigBase::width ( ) const
overridevirtual

Implements KisBufferStreamBase.

Definition at line 59 of file kis_buffer_stream.cc.

60{
61 return (m_lineSize * 8) / m_depth;
62}

References KisBufferStreamBase::m_depth, and m_lineSize.

◆ x()

tsize_t KisBufferStreamContigBase::x ( ) const
overridevirtual

Implements KisBufferStreamBase.

Definition at line 49 of file kis_buffer_stream.cc.

50{
51 return (m_lineOffset * 8) / m_depth;
52}

References KisBufferStreamBase::m_depth, and m_lineOffset.

◆ y()

tsize_t KisBufferStreamContigBase::y ( ) const
overridevirtual

Implements KisBufferStreamBase.

Definition at line 54 of file kis_buffer_stream.cc.

55{
56 return m_lineNumber;
57}

References m_lineNumber.

Member Data Documentation

◆ m_lineNumber

tsize_t KisBufferStreamContigBase::m_lineNumber = 0
protected

Definition at line 59 of file kis_buffer_stream.h.

◆ m_lineOffset

tsize_t KisBufferStreamContigBase::m_lineOffset = 0
protected

Definition at line 60 of file kis_buffer_stream.h.

◆ m_lineSize

const tsize_t KisBufferStreamContigBase::m_lineSize
protected

Definition at line 58 of file kis_buffer_stream.h.

◆ m_posinc

uint16_t KisBufferStreamContigBase::m_posinc = 0
protected

Definition at line 57 of file kis_buffer_stream.h.

◆ m_src

uint8_t* const KisBufferStreamContigBase::m_src
protected

Definition at line 55 of file kis_buffer_stream.h.

◆ m_srcIt

uint8_t* KisBufferStreamContigBase::m_srcIt
protected

Definition at line 56 of file kis_buffer_stream.h.


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