1 /*
2  * Copyright (c) 2017 Wolthera van Hövell tot Westerflier <griffinvalley@gmail.com>
3  *
4  *  This program is free software; you can redistribute it and/or modify
5  *  it under the terms of the GNU General Public License as published by
6  *  the Free Software Foundation; either version 2 of the License, or
7  *  (at your option) any later version.
8  *
9  *  This program is distributed in the hope that it will be useful,
10  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  *  GNU General Public License for more details.
13  *
14  *  You should have received a copy of the GNU General Public License
15  *  along with this program; if not, write to the Free Software
16  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17  */
18 #ifndef KIS_WDG_CONVERT_HEIGHT_TO_NORMAL_MAP_H
19 #define KIS_WDG_CONVERT_HEIGHT_TO_NORMAL_MAP_H
20 #include <kis_config_widget.h>
21 #include <QWidget>
22 #include <KoColorSpace.h>
23 #include "ui_wdg_convert_height_to_normal_map.h"
24 
25 class Ui_WidgetConvertHeightToNormalMap;
26 
27 class KisWdgConvertHeightToNormalMap : public KisConfigWidget
28 {
29     Q_OBJECT
30 public:
31     KisWdgConvertHeightToNormalMap(QWidget *parent, const KoColorSpace *cs);
32     ~KisWdgConvertHeightToNormalMap();
33 
34     KisPropertiesConfigurationSP configuration() const override;
35     void setConfiguration(const KisPropertiesConfigurationSP config) override;
36 
37     enum swizzle {
38         xPlus,
39         xMin,
40         yPlus,
41         yMin,
42         zPlus,
43         zMin
44     };
45 
46 private:
47     Ui_WidgetConvertHeightToNormalMap *ui;
48     QStringList m_types;
49     QStringList m_types_translatable;
50     const KoColorSpace *m_cs;
51 private Q_SLOTS:
52     void horizontalRadiusChanged(qreal r);
53     void verticalRadiusChanged(qreal r);
54     void aspectLockChanged(bool v);
55 };
56 
57 #endif // KIS_WDG_CONVERT_HEIGHT_TO_NORMAL_MAP_H
58