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

#include <kis_wrapped_random_accessor.h>

+ Inheritance diagram for KisWrappedRandomAccessor:

Public Member Functions

 KisWrappedRandomAccessor (KisTiledDataManager *ktm, qint32 offsetX, qint32 offsetY, bool writable, KisIteratorCompleteListener *completeListener, const QRect &wrapRect, const WrapAroundAxis wrapAroundModeAxis)
 
void moveTo (qint32 x, qint32 y) override
 Move to a given x,y position, fetch tiles and data.
 
qint32 numContiguousColumns (qint32 x) const override
 
qint32 numContiguousRows (qint32 y) const override
 
qint32 rowStride (qint32 x, qint32 y) const override
 
qint32 x () const override
 
qint32 y () const override
 
- Public Member Functions inherited from KisRandomAccessor2
 KisRandomAccessor2 (const KisTiledRandomAccessor &lhs)
 
 KisRandomAccessor2 (KisTiledDataManager *ktm, qint32 offsetX, qint32 offsetY, bool writable, KisIteratorCompleteListener *completeListener)
 
const quint8 * oldRawData () const override
 
quint8 * rawData () override
 
const quint8 * rawDataConst () const override
 
 ~KisRandomAccessor2 () override
 
- Public Member Functions inherited from KisRandomAccessorNG
 KisRandomAccessorNG ()
 
 ~KisRandomAccessorNG () override
 
- Public Member Functions inherited from KisRandomConstAccessorNG
 KisRandomConstAccessorNG ()
 
 ~KisRandomConstAccessorNG () override
 
- Public Member Functions inherited from KisBaseConstAccessor
 KisBaseConstAccessor ()
 
virtual ~KisBaseConstAccessor ()
 
- Public Member Functions inherited from KisShared
bool deref ()
 
bool ref ()
 
int refCount ()
 
QAtomicInt * sharedWeakReference ()
 
- Public Member Functions inherited from KisBaseAccessor
 KisBaseAccessor ()
 
virtual ~KisBaseAccessor ()
 

Private Attributes

QPoint m_currentPos
 
WrapAroundAxis m_wrapAxis
 
QRect m_wrapRect
 

Additional Inherited Members

- Protected Member Functions inherited from KisShared
 KisShared ()
 
 ~KisShared ()
 

Detailed Description

Definition at line 14 of file kis_wrapped_random_accessor.h.

Constructor & Destructor Documentation

◆ KisWrappedRandomAccessor()

KisWrappedRandomAccessor::KisWrappedRandomAccessor ( KisTiledDataManager * ktm,
qint32 offsetX,
qint32 offsetY,
bool writable,
KisIteratorCompleteListener * completeListener,
const QRect & wrapRect,
const WrapAroundAxis wrapAroundModeAxis )

Definition at line 12 of file kis_wrapped_random_accessor.cpp.

18 : KisRandomAccessor2(ktm, offsetX, offsetY, writable, completeListener),
19 m_wrapRect(wrapRect),
20 m_currentPos(QPoint()),
21 m_wrapAxis(wrapAroundModeAxis)
22{
23}
KisRandomAccessor2(KisTiledDataManager *ktm, qint32 offsetX, qint32 offsetY, bool writable, KisIteratorCompleteListener *completeListener)

Member Function Documentation

◆ moveTo()

void KisWrappedRandomAccessor::moveTo ( qint32 x,
qint32 y )
overridevirtual

Move to a given x,y position, fetch tiles and data.

Reimplemented from KisRandomAccessor2.

Definition at line 25 of file kis_wrapped_random_accessor.cpp.

26{
27 m_currentPos = QPoint(x, y);
28
31
33}
void moveTo(qint32 x, qint32 y) override
Move to a given x,y position, fetch tiles and data.
static int yToWrappedY(int y, const QRect &wrapRect, WrapAroundAxis wrapAxis)
static int xToWrappedX(int x, const QRect &wrapRect, WrapAroundAxis wrapAxis)

References m_currentPos, m_wrapAxis, m_wrapRect, KisRandomAccessor2::moveTo(), x(), KisWrappedRect::xToWrappedX(), y(), and KisWrappedRect::yToWrappedY().

◆ numContiguousColumns()

qint32 KisWrappedRandomAccessor::numContiguousColumns ( qint32 x) const
overridevirtual

Reimplemented from KisRandomAccessor2.

Definition at line 35 of file kis_wrapped_random_accessor.cpp.

36{
39 }
41 qint32 distanceToBorder = m_wrapRect.x() + m_wrapRect.width() - x;
42
43 return qMin(distanceToBorder, KisRandomAccessor2::numContiguousColumns(x));
44}
@ WRAPAROUND_VERTICAL
qint32 numContiguousColumns(qint32 x) const override

References m_wrapAxis, m_wrapRect, KisRandomAccessor2::numContiguousColumns(), WRAPAROUND_VERTICAL, x(), and KisWrappedRect::xToWrappedX().

◆ numContiguousRows()

qint32 KisWrappedRandomAccessor::numContiguousRows ( qint32 y) const
overridevirtual

Reimplemented from KisRandomAccessor2.

Definition at line 46 of file kis_wrapped_random_accessor.cpp.

47{
50 }
52 qint32 distanceToBorder = m_wrapRect.y() + m_wrapRect.height() - y;
53
54 return qMin(distanceToBorder, KisRandomAccessor2::numContiguousRows(y));
55}
@ WRAPAROUND_HORIZONTAL
qint32 numContiguousRows(qint32 y) const override

References m_wrapAxis, m_wrapRect, KisRandomAccessor2::numContiguousRows(), WRAPAROUND_HORIZONTAL, y(), and KisWrappedRect::yToWrappedY().

◆ rowStride()

qint32 KisWrappedRandomAccessor::rowStride ( qint32 x,
qint32 y ) const
overridevirtual

◆ x()

qint32 KisWrappedRandomAccessor::x ( ) const
overridevirtual

Reimplemented from KisRandomAccessor2.

Definition at line 64 of file kis_wrapped_random_accessor.cpp.

65{
66 return m_currentPos.x();
67}

References m_currentPos.

◆ y()

qint32 KisWrappedRandomAccessor::y ( ) const
overridevirtual

Reimplemented from KisRandomAccessor2.

Definition at line 69 of file kis_wrapped_random_accessor.cpp.

70{
71 return m_currentPos.y();
72}

References m_currentPos.

Member Data Documentation

◆ m_currentPos

QPoint KisWrappedRandomAccessor::m_currentPos
private

Definition at line 34 of file kis_wrapped_random_accessor.h.

◆ m_wrapAxis

WrapAroundAxis KisWrappedRandomAccessor::m_wrapAxis
private

Definition at line 35 of file kis_wrapped_random_accessor.h.

◆ m_wrapRect

QRect KisWrappedRandomAccessor::m_wrapRect
private

Definition at line 33 of file kis_wrapped_random_accessor.h.


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