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

#include <kis_transform_mask_adapter.h>

+ Inheritance diagram for KisTransformMaskAdapter:

Classes

struct  Private
 

Public Member Functions

KisTransformMaskParamsInterfaceSP clone () const override
 
bool compareTransform (KisTransformMaskParamsInterfaceSP rhs) const override
 
QTransform finalAffineTransform () const override
 
KisKeyframeChannelgetKeyframeChannel (const QString &id, KisDefaultBoundsBaseSP defaultBounds)
 
QString id () const override
 
bool isAffine () const override
 
bool isHidden () const override
 
bool isInitialized () const
 
 KisTransformMaskAdapter ()
 
 KisTransformMaskAdapter (const ToolTransformArgs &args, bool isHidden=false, bool isInitialized=true)
 
QRect nonAffineChangeRect (const QRect &rc) override
 
QRect nonAffineNeedRect (const QRect &rc, const QRect &srcBounds) override
 
void setBaseArgs (const ToolTransformArgs &args)
 
void setHidden (bool value) override
 
void toXML (QDomElement *e) const override
 
virtual const QSharedPointer< ToolTransformArgstransformArgs () const
 
void transformDevice (KisNodeSP node, KisPaintDeviceSP src, KisPaintDeviceSP dst, bool forceSubPixelTranslation) const override
 
void transformSrcAndDst (const QTransform &t) override
 
void translateDstSpace (const QPointF &offset) override
 
void translateSrcAndDst (const QPointF &offset) override
 
 ~KisTransformMaskAdapter () override
 
- Public Member Functions inherited from KisTransformMaskParamsInterface
virtual ~KisTransformMaskParamsInterface ()
 

Static Public Member Functions

static KisTransformMaskParamsInterfaceSP fromDumbXML (const QDomElement &e)
 
static KisTransformMaskParamsInterfaceSP fromXML (const QDomElement &e)
 

Private Attributes

const QScopedPointer< Privatem_d
 

Detailed Description

Definition at line 17 of file kis_transform_mask_adapter.h.

Constructor & Destructor Documentation

◆ KisTransformMaskAdapter() [1/2]

KisTransformMaskAdapter::KisTransformMaskAdapter ( )

Definition at line 28 of file kis_transform_mask_adapter.cpp.

29 : m_d(new Private)
30{
31 m_d->args.reset(new ToolTransformArgs());
32}
const QScopedPointer< Private > m_d

References m_d.

◆ KisTransformMaskAdapter() [2/2]

KisTransformMaskAdapter::KisTransformMaskAdapter ( const ToolTransformArgs & args,
bool isHidden = false,
bool isInitialized = true )

Definition at line 34 of file kis_transform_mask_adapter.cpp.

35 : m_d(new Private)
36{
37 m_d->args = toQShared(new ToolTransformArgs(args));
38 m_d->isHidden = isHidden;
39 m_d->isInitialized = isInitialized;
40}
QSharedPointer< T > toQShared(T *ptr)

References isHidden(), isInitialized(), m_d, and toQShared().

◆ ~KisTransformMaskAdapter()

KisTransformMaskAdapter::~KisTransformMaskAdapter ( )
override

Definition at line 42 of file kis_transform_mask_adapter.cpp.

43{
44}

Member Function Documentation

◆ clone()

KisTransformMaskParamsInterfaceSP KisTransformMaskAdapter::clone ( ) const
overridevirtual

Implements KisTransformMaskParamsInterface.

Definition at line 176 of file kis_transform_mask_adapter.cpp.

176 {
177 return toQShared(new KisTransformMaskAdapter(*this->transformArgs(), this->isHidden(), this->isInitialized()));
178}
virtual const QSharedPointer< ToolTransformArgs > transformArgs() const

References isHidden(), isInitialized(), KisTransformMaskAdapter(), toQShared(), and transformArgs().

◆ compareTransform()

bool KisTransformMaskAdapter::compareTransform ( KisTransformMaskParamsInterfaceSP rhs) const
overridevirtual

Implements KisTransformMaskParamsInterface.

Definition at line 180 of file kis_transform_mask_adapter.cpp.

181{
184
186 QSharedPointer<ToolTransformArgs> rhsArgs = adapter->transformArgs();
187
188 return lhsArgs->isSameMode(*rhsArgs);
189}
#define KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE(cond, val)
Definition kis_assert.h:129

References KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, and transformArgs().

◆ finalAffineTransform()

QTransform KisTransformMaskAdapter::finalAffineTransform ( ) const
overridevirtual

◆ fromDumbXML()

KisTransformMaskParamsInterfaceSP KisTransformMaskAdapter::fromDumbXML ( const QDomElement & e)
static

Definition at line 116 of file kis_transform_mask_adapter.cpp.

117{
119
120 {
121 QDomElement transformEl;
122 bool result = false;
123
124 QTransform transform;
125
126 result =
127 KisDomUtils::findOnlyElement(e, "dumb_transform", &transformEl) &&
128 KisDomUtils::loadValue(transformEl, "transform", &transform);
129
130 if (!result) {
131 warnKrita << "WARNING: couldn't load dumb transform. Ignoring...";
132 }
133
134 args.translateDstSpace(QPointF(transform.dx(), transform.dy()));
135 }
136
137 // bounds rotation cannot be used on transform masks currently
139
141 new KisTransformMaskAdapter(args));
142}
void translateDstSpace(const QPointF &offset)
double boundsRotation() const
static bool qFuzzyIsNull(half h)
#define KIS_SAFE_ASSERT_RECOVER_NOOP(cond)
Definition kis_assert.h:130
#define warnKrita
Definition kis_debug.h:87
QSharedPointer< KisTransformMaskParamsInterface > KisTransformMaskParamsInterfaceSP
bool findOnlyElement(const QDomElement &parent, const QString &tag, QDomElement *el, QStringList *errorMessages)
bool loadValue(const QDomElement &e, float *v)

References ToolTransformArgs::boundsRotation(), KisDomUtils::findOnlyElement(), KIS_SAFE_ASSERT_RECOVER_NOOP, KisTransformMaskAdapter(), KisDomUtils::loadValue(), qFuzzyIsNull(), ToolTransformArgs::translateDstSpace(), and warnKrita.

◆ fromXML()

KisTransformMaskParamsInterfaceSP KisTransformMaskAdapter::fromXML ( const QDomElement & e)
static

Definition at line 105 of file kis_transform_mask_adapter.cpp.

106{
108
109 // bounds rotation cannot be used on transform masks currently
110 KIS_SAFE_ASSERT_RECOVER_NOOP(qFuzzyIsNull(args.boundsRotation()));
111
113 new KisTransformMaskAdapter(args));
114}
static ToolTransformArgs fromXML(const QDomElement &e)

References ToolTransformArgs::boundsRotation(), ToolTransformArgs::fromXML(), KIS_SAFE_ASSERT_RECOVER_NOOP, KisTransformMaskAdapter(), and qFuzzyIsNull().

◆ getKeyframeChannel()

KisKeyframeChannel * KisTransformMaskAdapter::getKeyframeChannel ( const QString & id,
KisDefaultBoundsBaseSP defaultBounds )

Definition at line 169 of file kis_transform_mask_adapter.cpp.

170{
171 Q_UNUSED(id);
172 Q_UNUSED(defaultBounds);
173 return 0;
174}

◆ id()

QString KisTransformMaskAdapter::id ( ) const
overridevirtual

Implements KisTransformMaskParamsInterface.

Definition at line 93 of file kis_transform_mask_adapter.cpp.

94{
95 return "tooltransformparams";
96}

◆ isAffine()

bool KisTransformMaskAdapter::isAffine ( ) const
overridevirtual

◆ isHidden()

bool KisTransformMaskAdapter::isHidden ( ) const
overridevirtual

Hides the transform mask from the rendering stack. It is used by the legacy transform tool strategy to hide the mask during the overlay preview.

Implements KisTransformMaskParamsInterface.

Definition at line 70 of file kis_transform_mask_adapter.cpp.

71{
72 return m_d->isHidden;
73}

References m_d.

◆ isInitialized()

bool KisTransformMaskAdapter::isInitialized ( ) const

Definition at line 60 of file kis_transform_mask_adapter.cpp.

61{
62 return m_d->isInitialized;
63}

References m_d.

◆ nonAffineChangeRect()

QRect KisTransformMaskAdapter::nonAffineChangeRect ( const QRect & rc)
overridevirtual

Implements KisTransformMaskParamsInterface.

Definition at line 159 of file kis_transform_mask_adapter.cpp.

160{
162}
static QRect changeRect(const ToolTransformArgs &config, const QRect &rc)

References KisTransformUtils::changeRect(), and transformArgs().

◆ nonAffineNeedRect()

QRect KisTransformMaskAdapter::nonAffineNeedRect ( const QRect & rc,
const QRect & srcBounds )
overridevirtual

Implements KisTransformMaskParamsInterface.

Definition at line 164 of file kis_transform_mask_adapter.cpp.

165{
166 return KisTransformUtils::needRect(*transformArgs(), rc, srcBounds);
167}
static QRect needRect(const ToolTransformArgs &config, const QRect &rc, const QRect &srcBounds)

References KisTransformUtils::needRect(), and transformArgs().

◆ setBaseArgs()

void KisTransformMaskAdapter::setBaseArgs ( const ToolTransformArgs & args)

Definition at line 88 of file kis_transform_mask_adapter.cpp.

89{
90 *m_d->args = args;
91}

References m_d.

◆ setHidden()

void KisTransformMaskAdapter::setHidden ( bool value)
overridevirtual

Implements KisTransformMaskParamsInterface.

Definition at line 65 of file kis_transform_mask_adapter.cpp.

66{
67 m_d->isHidden = value;
68}
float value(const T *src, size_t ch)

References m_d, and value().

◆ toXML()

void KisTransformMaskAdapter::toXML ( QDomElement * e) const
overridevirtual

Implements KisTransformMaskParamsInterface.

Definition at line 98 of file kis_transform_mask_adapter.cpp.

99{
100 // bounds rotation cannot be used on transform masks currently
101 KIS_SAFE_ASSERT_RECOVER_NOOP(qFuzzyIsNull(m_d->args->boundsRotation()));
102 m_d->args->toXML(e);
103}

References KIS_SAFE_ASSERT_RECOVER_NOOP, m_d, and qFuzzyIsNull().

◆ transformArgs()

const QSharedPointer< ToolTransformArgs > KisTransformMaskAdapter::transformArgs ( ) const
virtual

Definition at line 84 of file kis_transform_mask_adapter.cpp.

84 {
85 return m_d->args;
86}

References m_d.

◆ transformDevice()

void KisTransformMaskAdapter::transformDevice ( KisNodeSP node,
KisPaintDeviceSP src,
KisPaintDeviceSP dst,
bool forceSubPixelTranslation ) const
overridevirtual

Implements KisTransformMaskParamsInterface.

Definition at line 75 of file kis_transform_mask_adapter.cpp.

76{
77 dst->prepareClone(src);
78
80
81 KisTransformUtils::transformDeviceWithCroppedDst(*transformArgs(), src, dst, &helper, forceSubPixelTranslation);
82}
void prepareClone(KisPaintDeviceSP src)
static void transformDeviceWithCroppedDst(const ToolTransformArgs &config, KisPaintDeviceSP srcDevice, KisPaintDeviceSP dstDevice, KisProcessingVisitor::ProgressHelper *helper, bool forceSubPixelTranslation)

References KisPaintDevice::prepareClone(), transformArgs(), and KisTransformUtils::transformDeviceWithCroppedDst().

◆ transformSrcAndDst()

void KisTransformMaskAdapter::transformSrcAndDst ( const QTransform & t)
overridevirtual

Implements KisTransformMaskParamsInterface.

Definition at line 149 of file kis_transform_mask_adapter.cpp.

150{
151 m_d->args->transformSrcAndDst(t);
152}

References m_d.

◆ translateDstSpace()

void KisTransformMaskAdapter::translateDstSpace ( const QPointF & offset)
overridevirtual

Implements KisTransformMaskParamsInterface.

Definition at line 154 of file kis_transform_mask_adapter.cpp.

155{
156 m_d->args->translateDstSpace(offset);
157}

References m_d.

◆ translateSrcAndDst()

void KisTransformMaskAdapter::translateSrcAndDst ( const QPointF & offset)
overridevirtual

Implements KisTransformMaskParamsInterface.

Definition at line 144 of file kis_transform_mask_adapter.cpp.

145{
146 m_d->args->translateSrcAndDst(offset);
147}

References m_d.

Member Data Documentation

◆ m_d

const QScopedPointer<Private> KisTransformMaskAdapter::m_d
private

Definition at line 58 of file kis_transform_mask_adapter.h.


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