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

#include <shearimage.h>

+ Inheritance diagram for ShearImage:

Public Member Functions

 ShearImage (QObject *parent, const QVariantList &)
 
 ~ShearImage () override
 
- Public Member Functions inherited from KisActionPlugin
 KisActionPlugin (QObject *parent=0)
 
 ~KisActionPlugin () override
 

Private Slots

void slotShearAllLayers ()
 
void slotShearImage ()
 
void slotShearLayer ()
 

Private Member Functions

void shearLayerImpl (KisNodeSP rootNode)
 
void shearLayersImpl (KisNodeList nodes)
 

Additional Inherited Members

- Protected Member Functions inherited from KisActionPlugin
void addAction (const QString &name, KisAction *action)
 
void addOperation (KisOperation *operation)
 
void addUIFactory (KisOperationUIFactory *factory)
 
KisActioncreateAction (const QString &name)
 
QPointer< KisViewManagerviewManager () const
 

Detailed Description

Definition at line 18 of file shearimage.h.

Constructor & Destructor Documentation

◆ ShearImage()

ShearImage::ShearImage ( QObject * parent,
const QVariantList &  )

Definition at line 25 of file shearimage.cc.

26 : KisActionPlugin(parent)
27{
28 KisAction *action = createAction("shearimage");
29 connect(action, SIGNAL(triggered()), this, SLOT(slotShearImage()));
30
31 action = createAction("shearlayer");
32 connect(action, SIGNAL(triggered()), this, SLOT(slotShearLayer()));
33
34 action = createAction("shearAllLayers");
35 connect(action, SIGNAL(triggered()), this, SLOT(slotShearAllLayers()));
36}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
KisAction * createAction(const QString &name)
KisActionPlugin(QObject *parent=0)
void slotShearAllLayers()
Definition shearimage.cc:94
void slotShearLayer()
Definition shearimage.cc:89
void slotShearImage()
Definition shearimage.cc:42

References connect().

◆ ~ShearImage()

ShearImage::~ShearImage ( )
override

Definition at line 38 of file shearimage.cc.

39{
40}

Member Function Documentation

◆ shearLayerImpl()

void ShearImage::shearLayerImpl ( KisNodeSP rootNode)
private

Definition at line 62 of file shearimage.cc.

63{
65}
void shearLayersImpl(KisNodeList nodes)
Definition shearimage.cc:66

References shearLayersImpl().

◆ shearLayersImpl()

void ShearImage::shearLayersImpl ( KisNodeList nodes)
private

Definition at line 66 of file shearimage.cc.

67{
68 KisImageWSP image = viewManager()->image();
69 if (!image) return;
70
71 if (!viewManager()->blockUntilOperationsFinished(image)) return;
72
73 DlgShearImage * dlgShearImage = new DlgShearImage(viewManager()->mainWindowAsQWidget(), "ShearLayer");
74 Q_CHECK_PTR(dlgShearImage);
75
76 dlgShearImage->setCaption(i18np("Shear Layer", "Shear %1 Layers", nodes.size()));
77
78 if (dlgShearImage->exec() == QDialog::Accepted) {
79 qint32 angleX = dlgShearImage->angleX();
80 qint32 angleY = dlgShearImage->angleY();
81
82 image->shearNodes(nodes,
83 angleX, angleY,
84 viewManager()->selection());
85 }
86 delete dlgShearImage;
87}
QPointer< KisViewManager > viewManager() const
void shearNodes(KisNodeList nodes, double angleX, double angleY, KisSelectionSP selection)
virtual void setCaption(const QString &caption)
Definition KoDialog.cpp:498

References DlgShearImage::angleX(), DlgShearImage::angleY(), KoDialog::setCaption(), KisImage::shearNodes(), and KisActionPlugin::viewManager().

◆ slotShearAllLayers

void ShearImage::slotShearAllLayers ( )
privateslot

Definition at line 94 of file shearimage.cc.

95{
96 KisImageWSP image = viewManager()->image();
97 if (!image) return;
98
99 shearLayerImpl(image->root());
100}
void shearLayerImpl(KisNodeSP rootNode)
Definition shearimage.cc:62

References KisNodeFacade::root, shearLayerImpl(), and KisActionPlugin::viewManager().

◆ slotShearImage

void ShearImage::slotShearImage ( )
privateslot

Definition at line 42 of file shearimage.cc.

43{
44 KisImageWSP image = viewManager()->image();
45 if (!image) return;
46
47 if (!viewManager()->blockUntilOperationsFinished(image)) return;
48
49 DlgShearImage * dlgShearImage = new DlgShearImage(viewManager()->mainWindowAsQWidget(), "ShearImage");
50 Q_CHECK_PTR(dlgShearImage);
51
52 dlgShearImage->setCaption(i18n("Shear Image"));
53
54 if (dlgShearImage->exec() == QDialog::Accepted) {
55 qint32 angleX = dlgShearImage->angleX();
56 qint32 angleY = dlgShearImage->angleY();
57 viewManager()->imageManager()->shearCurrentImage(angleX, angleY);
58 }
59 delete dlgShearImage;
60}

References DlgShearImage::angleX(), DlgShearImage::angleY(), KoDialog::setCaption(), and KisActionPlugin::viewManager().

◆ slotShearLayer

void ShearImage::slotShearLayer ( )
privateslot

Definition at line 89 of file shearimage.cc.

90{
91 shearLayersImpl(viewManager()->nodeManager()->selectedNodes());
92}

References shearLayersImpl(), and KisActionPlugin::viewManager().


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