File indexing completed on 2024-12-22 04:15:12

0001 /*
0002  * rotateimage.h -- Part of Krita
0003  *
0004  * SPDX-FileCopyrightText: 2004 Michael Thaler (michael.thaler@physik.tu-muenchen.de)
0005  *
0006  *  SPDX-License-Identifier: GPL-2.0-or-later
0007  */
0008 
0009 #ifndef ROTATEIMAGE_H
0010 #define ROTATEIMAGE_H
0011 
0012 #include <QVariant>
0013 
0014 #include <KisActionPlugin.h>
0015 #include "kis_types.h"
0016 
0017 class RotateImage : public KisActionPlugin
0018 {
0019     Q_OBJECT
0020 public:
0021     RotateImage(QObject *parent, const QVariantList &);
0022     ~RotateImage() override;
0023 
0024 private:
0025     void rotateLayerCustomImpl(KisNodeSP rootNode);
0026     void rotateLayersCustomImpl(KisNodeList nodes);
0027     void rotateLayerImpl(KisNodeSP rootNode, qreal radians);
0028     void rotateLayersImpl(KisNodeList nodes, qreal radians);
0029 
0030 private Q_SLOTS:
0031 
0032     void slotRotateImage();
0033     void slotRotateImage90();
0034     void slotRotateImage180();
0035     void slotRotateImage270();
0036     void slotMirrorImageVertical();
0037     void slotMirrorImageHorizontal();
0038     void slotRotateLayer();
0039     void slotRotateLayerCW90();
0040     void slotRotateLayerCCW90();
0041     void slotRotateLayer180();
0042     void slotRotateAllLayers();
0043     void slotRotateAllLayersCW90();
0044     void slotRotateAllLayersCCW90();
0045     void slotRotateAllLayers180();
0046 };
0047 
0048 #endif // ROTATEIMAGE_H