File indexing completed on 2024-05-12 16:01:26

0001 /*
0002  *  SPDX-FileCopyrightText: 2003-2009 Boudewijn Rempt <boud@valdyas.org>
0003  *  SPDX-FileCopyrightText: 2014 Sven Langkamp <sven.langkamp@gmail.com>
0004  *
0005  *  SPDX-License-Identifier: GPL-2.0-or-later
0006  */
0007 
0008 #ifndef KIS_CANVAS_CONTROLS_MANAGER_H
0009 #define KIS_CANVAS_CONTROLS_MANAGER_H
0010 
0011 #include <QObject>
0012 #include <QPointer>
0013 
0014 #include <kritaui_export.h>
0015 
0016 class KisViewManager;
0017 class KisActionManager;
0018 class KisView;
0019 
0020 class KRITAUI_EXPORT KisCanvasControlsManager: public QObject
0021 {
0022     Q_OBJECT
0023 
0024 public:
0025     KisCanvasControlsManager(KisViewManager * view);
0026     ~KisCanvasControlsManager() override;
0027 
0028     void setup(KisActionManager *actionManager);
0029     void setView(QPointer<KisView>imageView);
0030 
0031 private Q_SLOTS:
0032     void makeColorLighter();
0033     void makeColorDarker();
0034     void makeColorDesaturated();
0035     void makeColorSaturated();
0036     void shiftHueClockWise();
0037     void shiftHueCounterClockWise();
0038     void makeColorRed();
0039     void makeColorGreen();
0040     void makeColorBlue();
0041     void makeColorYellow();
0042 
0043     void increaseOpacity();
0044     void decreaseOpacity();
0045     void increaseFlow();
0046     void decreaseFlow();
0047     void increaseFade();
0048     void decreaseFade();
0049     void increaseScatter();
0050     void decreaseScatter();
0051 private:
0052     void transformColor(int step);
0053     void transformSaturation(int step);
0054     void transformHue(int step);
0055     void transformRed(int step);
0056     void transformBlue(int step);
0057     void stepAlpha(float step);
0058     void stepFlow(float step);
0059     void stepFade(float step);
0060     void stepScatter(float step);
0061 
0062 private:
0063     KisViewManager * m_view;
0064 };
0065 
0066 #endif // KIS_CANVAS_CONTROLS_MANAGER_H