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

0001 /*
0002  *  dlg_rotateimage.h -- part of KimageShop^WKrayon^WKrita
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 #ifndef DLG_ROTATEIMAGE
0009 #define DLG_ROTATEIMAGE
0010 
0011 #include <KoDialog.h>
0012 
0013 #include "kis_global.h"
0014 
0015 #include "ui_wdg_rotateimage.h"
0016 
0017 enum enumRotationDirection {
0018     CLOCKWISE,
0019     COUNTERCLOCKWISE
0020 };
0021 
0022 class WdgRotateImage : public QWidget, public Ui::WdgRotateImage
0023 {
0024     Q_OBJECT
0025 
0026 public:
0027     WdgRotateImage(QWidget *parent) : QWidget(parent) {
0028         setupUi(this);
0029     }
0030 };
0031 
0032 class DlgRotateImage: public KoDialog
0033 {
0034 
0035     Q_OBJECT
0036 
0037 public:
0038 
0039     DlgRotateImage(QWidget * parent = 0,
0040                    const char* name = 0);
0041     ~DlgRotateImage() override;
0042 
0043     void setAngle(quint32 w);
0044     double angle();
0045 
0046     void setDirection(enumRotationDirection direction);
0047     enumRotationDirection direction();
0048 
0049 private Q_SLOTS:
0050 
0051     void okClicked();
0052     void resetPreview();
0053     void slotAngleValueChanged(double);
0054     void slotRadioCCWToggled(bool toggled);
0055     void slotRadioCWToggled(bool toggled);
0056 
0057 private:
0058 
0059     WdgRotateImage * m_page;
0060     double m_oldAngle {0.0};
0061     bool m_lock;
0062 
0063 };
0064 
0065 #endif // DLG_ROTATEIMAGE