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

0001 /*
0002  *  SPDX-FileCopyrightText: 2014 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #ifndef __KIS_GAMMA_EXPOSURE_ACTION_H
0008 #define __KIS_GAMMA_EXPOSURE_ACTION_H
0009 
0010 #include "kis_abstract_input_action.h"
0011 
0012 
0013 class KisGammaExposureAction : public KisAbstractInputAction
0014 {
0015 public:
0016     /**
0017      * The different behaviours for this action.
0018      */
0019     enum Shortcuts {
0020         ExposureShortcut,
0021         GammaShortcut,
0022         AddExposure05Shortcut,
0023         RemoveExposure05Shortcut,
0024         AddGamma05Shortcut,
0025         RemoveGamma05Shortcut,
0026         AddExposure02Shortcut,
0027         RemoveExposure02Shortcut,
0028         AddGamma02Shortcut,
0029         RemoveGamma02Shortcut,
0030         ResetExposureAndGammaShortcut
0031     };
0032     explicit KisGammaExposureAction();
0033     ~KisGammaExposureAction() override;
0034 
0035     int priority() const override;
0036 
0037     void activate(int shortcut) override;
0038     void deactivate(int shortcut) override;
0039 
0040     void begin(int shortcut, QEvent *event = nullptr) override;
0041     void cursorMovedAbsolute(const QPointF &lastPos, const QPointF &pos) override;
0042 
0043     bool isShortcutRequired(int shortcut) const override;
0044 
0045 private:
0046     class Private;
0047     Private * const d {nullptr};
0048 };
0049 
0050 #endif /* __KIS_GAMMA_EXPOSURE_ACTION_H */