Krita Source Code Documentation
Loading...
Searching...
No Matches
KisPaintDevice::Private::KisPaintDeviceStrategy Class Reference

#include <kis_paint_device_strategies.h>

+ Inheritance diagram for KisPaintDevice::Private::KisPaintDeviceStrategy:

Public Member Functions

virtual void clear (const QRect &rc)
 
virtual KisHLineConstIteratorSP createHLineConstIteratorNG (KisDataManager *dataManager, qint32 x, qint32 y, qint32 w, qint32 offsetX, qint32 offsetY) const
 
virtual KisHLineIteratorSP createHLineIteratorNG (KisDataManager *dataManager, qint32 x, qint32 y, qint32 w, qint32 offsetX, qint32 offsetY)
 
virtual KisRandomAccessorSP createRandomAccessorNG ()
 
virtual KisRandomConstAccessorSP createRandomConstAccessorNG () const
 
virtual KisVLineConstIteratorSP createVLineConstIteratorNG (qint32 x, qint32 y, qint32 w) const
 
virtual KisVLineIteratorSP createVLineIteratorNG (qint32 x, qint32 y, qint32 w)
 
virtual void crop (const QRect &rect)
 
virtual QRect extent () const
 
virtual void fastBitBlt (KisPaintDeviceSP src, const QRect &rect)
 
virtual void fastBitBltOldData (KisPaintDeviceSP src, const QRect &rect)
 
virtual void fastBitBltRough (KisDataManagerSP srcDataManager, const QRect &rect)
 
virtual void fastBitBltRough (KisPaintDeviceSP src, const QRect &rect)
 
virtual void fastBitBltRoughOldData (KisPaintDeviceSP src, const QRect &rect)
 
virtual void fill (const QRect &rc, const quint8 *fillPixel)
 
 KisPaintDeviceStrategy (KisPaintDevice *device, KisPaintDevice::Private *d)
 
virtual void move (const QPoint &pt)
 
virtual void readBytes (quint8 *data, const QRect &rect) const
 
virtual QVector< quint8 * > readPlanarBytes (qint32 x, qint32 y, qint32 w, qint32 h) const
 
virtual KisRegion region () const
 
virtual void writeBytes (const quint8 *data, const QRect &rect)
 
virtual void writePlanarBytes (QVector< quint8 * > planes, qint32 x, qint32 y, qint32 w, qint32 h)
 
virtual ~KisPaintDeviceStrategy ()
 

Protected Member Functions

virtual void fastBitBltImpl (KisDataManagerSP srcDataManager, const QRect &rect)
 
virtual void fastBitBltRoughImpl (KisDataManagerSP srcDataManager, const QRect &rect)
 
virtual void readBytesImpl (quint8 *data, const QRect &rect, int dataRowStride) const
 
virtual void writeBytesImpl (const quint8 *data, const QRect &rect, int dataRowStride)
 

Protected Attributes

KisPaintDevice::Private *const m_d
 
KisPaintDevicem_device
 

Detailed Description

Definition at line 16 of file kis_paint_device_strategies.h.

Constructor & Destructor Documentation

◆ KisPaintDeviceStrategy()

KisPaintDevice::Private::KisPaintDeviceStrategy::KisPaintDeviceStrategy ( KisPaintDevice * device,
KisPaintDevice::Private * d )
inline

◆ ~KisPaintDeviceStrategy()

virtual KisPaintDevice::Private::KisPaintDeviceStrategy::~KisPaintDeviceStrategy ( )
inlinevirtual

Definition at line 25 of file kis_paint_device_strategies.h.

25 {
26 }

Member Function Documentation

◆ clear()

virtual void KisPaintDevice::Private::KisPaintDeviceStrategy::clear ( const QRect & rc)
inlinevirtual

◆ createHLineConstIteratorNG()

virtual KisHLineConstIteratorSP KisPaintDevice::Private::KisPaintDeviceStrategy::createHLineConstIteratorNG ( KisDataManager * dataManager,
qint32 x,
qint32 y,
qint32 w,
qint32 offsetX,
qint32 offsetY ) const
inlinevirtual

◆ createHLineIteratorNG()

virtual KisHLineIteratorSP KisPaintDevice::Private::KisPaintDeviceStrategy::createHLineIteratorNG ( KisDataManager * dataManager,
qint32 x,
qint32 y,
qint32 w,
qint32 offsetX,
qint32 offsetY )
inlinevirtual

◆ createRandomAccessorNG()

◆ createRandomConstAccessorNG()

virtual KisRandomConstAccessorSP KisPaintDevice::Private::KisPaintDeviceStrategy::createRandomConstAccessorNG ( ) const
inlinevirtual

◆ createVLineConstIteratorNG()

virtual KisVLineConstIteratorSP KisPaintDevice::Private::KisPaintDeviceStrategy::createVLineConstIteratorNG ( qint32 x,
qint32 y,
qint32 w ) const
inlinevirtual

◆ createVLineIteratorNG()

virtual KisVLineIteratorSP KisPaintDevice::Private::KisPaintDeviceStrategy::createVLineIteratorNG ( qint32 x,
qint32 y,
qint32 w )
inlinevirtual

◆ crop()

virtual void KisPaintDevice::Private::KisPaintDeviceStrategy::crop ( const QRect & rect)
inlinevirtual

◆ extent()

virtual QRect KisPaintDevice::Private::KisPaintDeviceStrategy::extent ( ) const
inlinevirtual

Reimplemented in KisPaintDevice::Private::KisPaintDeviceWrappedStrategy.

Definition at line 34 of file kis_paint_device_strategies.h.

34 {
35 QRect extent;
36
37 qint32 x, y, w, h;
38 m_d->dataManager()->extent(x, y, w, h);
39 x += m_d->x();
40 y += m_d->y();
41 extent = QRect(x, y, w, h);
42
43 quint8 defaultOpacity = m_device->defaultPixel().opacityU8();
44
45 if (defaultOpacity != OPACITY_TRANSPARENT_U8)
47
48 return extent;
49 }
const quint8 OPACITY_TRANSPARENT_U8
void extent(qint32 &x, qint32 &y, qint32 &w, qint32 &h) const
virtual QRect bounds() const =0
KoColor defaultPixel() const
quint8 opacityU8() const
Definition KoColor.cpp:341
KisDefaultBoundsBaseSP defaultBounds

References KisDefaultBoundsBase::bounds(), KisPaintDevice::Private::dataManager(), KisPaintDevice::Private::defaultBounds, KisPaintDevice::defaultPixel(), extent(), KisDataManager::extent(), m_d, m_device, OPACITY_TRANSPARENT_U8, KoColor::opacityU8(), KisPaintDevice::Private::x(), and KisPaintDevice::Private::y().

◆ fastBitBlt()

virtual void KisPaintDevice::Private::KisPaintDeviceStrategy::fastBitBlt ( KisPaintDeviceSP src,
const QRect & rect )
inlinevirtual

Definition at line 106 of file kis_paint_device_strategies.h.

106 {
107 Q_ASSERT(m_device->fastBitBltPossible(src));
108 fastBitBltImpl(src->dataManager(), rect);
109 }
virtual void fastBitBltImpl(KisDataManagerSP srcDataManager, const QRect &rect)
bool fastBitBltPossible(KisPaintDeviceSP src)

References fastBitBltImpl(), KisPaintDevice::fastBitBltPossible(), and m_device.

◆ fastBitBltImpl()

virtual void KisPaintDevice::Private::KisPaintDeviceStrategy::fastBitBltImpl ( KisDataManagerSP srcDataManager,
const QRect & rect )
inlineprotectedvirtual

◆ fastBitBltOldData()

virtual void KisPaintDevice::Private::KisPaintDeviceStrategy::fastBitBltOldData ( KisPaintDeviceSP src,
const QRect & rect )
inlinevirtual

◆ fastBitBltRough() [1/2]

virtual void KisPaintDevice::Private::KisPaintDeviceStrategy::fastBitBltRough ( KisDataManagerSP srcDataManager,
const QRect & rect )
inlinevirtual

Definition at line 123 of file kis_paint_device_strategies.h.

123 {
124 fastBitBltRoughImpl(srcDataManager, rect);
125 }
virtual void fastBitBltRoughImpl(KisDataManagerSP srcDataManager, const QRect &rect)

References fastBitBltRoughImpl().

◆ fastBitBltRough() [2/2]

virtual void KisPaintDevice::Private::KisPaintDeviceStrategy::fastBitBltRough ( KisPaintDeviceSP src,
const QRect & rect )
inlinevirtual

Definition at line 118 of file kis_paint_device_strategies.h.

118 {
119 Q_ASSERT(m_device->fastBitBltPossible(src));
120 fastBitBltRoughImpl(src->dataManager(), rect);
121 }

References KisPaintDevice::fastBitBltPossible(), fastBitBltRoughImpl(), and m_device.

◆ fastBitBltRoughImpl()

virtual void KisPaintDevice::Private::KisPaintDeviceStrategy::fastBitBltRoughImpl ( KisDataManagerSP srcDataManager,
const QRect & rect )
inlineprotectedvirtual

◆ fastBitBltRoughOldData()

virtual void KisPaintDevice::Private::KisPaintDeviceStrategy::fastBitBltRoughOldData ( KisPaintDeviceSP src,
const QRect & rect )
inlinevirtual

◆ fill()

virtual void KisPaintDevice::Private::KisPaintDeviceStrategy::fill ( const QRect & rc,
const quint8 * fillPixel )
inlinevirtual

◆ move()

virtual void KisPaintDevice::Private::KisPaintDeviceStrategy::move ( const QPoint & pt)
inlinevirtual

◆ readBytes()

virtual void KisPaintDevice::Private::KisPaintDeviceStrategy::readBytes ( quint8 * data,
const QRect & rect ) const
inlinevirtual

Reimplemented in KisPaintDevice::Private::KisPaintDeviceWrappedStrategy.

Definition at line 134 of file kis_paint_device_strategies.h.

134 {
135 readBytesImpl(data, rect, -1);
136 }
virtual void readBytesImpl(quint8 *data, const QRect &rect, int dataRowStride) const

References readBytesImpl().

◆ readBytesImpl()

virtual void KisPaintDevice::Private::KisPaintDeviceStrategy::readBytesImpl ( quint8 * data,
const QRect & rect,
int dataRowStride ) const
inlineprotectedvirtual

Definition at line 151 of file kis_paint_device_strategies.h.

151 {
152 m_d->dataManager()->readBytes(data,
153 rect.x() - m_d->x(),
154 rect.y() - m_d->y(),
155 rect.width(),
156 rect.height(),
157 dataRowStride);
158 }
void readBytes(quint8 *data, qint32 x, qint32 y, qint32 w, qint32 h, qint32 dataRowStride=-1) const

References KisPaintDevice::Private::dataManager(), m_d, KisDataManager::readBytes(), KisPaintDevice::Private::x(), and KisPaintDevice::Private::y().

◆ readPlanarBytes()

virtual QVector< quint8 * > KisPaintDevice::Private::KisPaintDeviceStrategy::readPlanarBytes ( qint32 x,
qint32 y,
qint32 w,
qint32 h ) const
inlinevirtual

Definition at line 142 of file kis_paint_device_strategies.h.

142 {
143 return m_d->dataManager()->readPlanarBytes(m_device->channelSizes(), x, y, w, h);
144 }
QVector< quint8 * > readPlanarBytes(QVector< qint32 > channelsizes, qint32 x, qint32 y, qint32 w, qint32 h) const
QVector< qint32 > channelSizes() const

References KisPaintDevice::channelSizes(), KisPaintDevice::Private::dataManager(), m_d, m_device, KisDataManager::readPlanarBytes(), KisPaintDevice::Private::x(), and KisPaintDevice::Private::y().

◆ region()

virtual KisRegion KisPaintDevice::Private::KisPaintDeviceStrategy::region ( ) const
inlinevirtual

◆ writeBytes()

virtual void KisPaintDevice::Private::KisPaintDeviceStrategy::writeBytes ( const quint8 * data,
const QRect & rect )
inlinevirtual

Reimplemented in KisPaintDevice::Private::KisPaintDeviceWrappedStrategy.

Definition at line 138 of file kis_paint_device_strategies.h.

138 {
139 writeBytesImpl(data, rect, -1);
140 }
virtual void writeBytesImpl(const quint8 *data, const QRect &rect, int dataRowStride)

References writeBytesImpl().

◆ writeBytesImpl()

virtual void KisPaintDevice::Private::KisPaintDeviceStrategy::writeBytesImpl ( const quint8 * data,
const QRect & rect,
int dataRowStride )
inlineprotectedvirtual

Definition at line 160 of file kis_paint_device_strategies.h.

160 {
161 m_d->dataManager()->writeBytes(data,
162 rect.x() - m_d->x(),
163 rect.y() - m_d->y(),
164 rect.width(),
165 rect.height(),
166 dataRowStride);
167 m_d->cache()->invalidate();
168 }
void writeBytes(const quint8 *data, qint32 x, qint32 y, qint32 w, qint32 h, qint32 dataRowStride=-1)

References KisPaintDevice::Private::cache(), KisPaintDevice::Private::dataManager(), KisPaintDeviceCache::invalidate(), m_d, KisDataManager::writeBytes(), KisPaintDevice::Private::x(), and KisPaintDevice::Private::y().

◆ writePlanarBytes()

virtual void KisPaintDevice::Private::KisPaintDeviceStrategy::writePlanarBytes ( QVector< quint8 * > planes,
qint32 x,
qint32 y,
qint32 w,
qint32 h )
inlinevirtual

Member Data Documentation

◆ m_d

KisPaintDevice::Private* const KisPaintDevice::Private::KisPaintDeviceStrategy::m_d
protected

Definition at line 184 of file kis_paint_device_strategies.h.

◆ m_device

KisPaintDevice* KisPaintDevice::Private::KisPaintDeviceStrategy::m_device
protected

Definition at line 183 of file kis_paint_device_strategies.h.


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