File indexing completed on 2024-05-26 04:33:09
0001 /* 0002 * SPDX-FileCopyrightText: 2010-2011 José Luis Vergara <pentalis@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef KIS_PHONG_BUMPMAP_CONFIG_WIDGET_H 0008 #define KIS_PHONG_BUMPMAP_CONFIG_WIDGET_H 0009 0010 #include "ui_wdgphongbumpmap.h" 0011 #include "kis_paint_device.h" 0012 #include "kis_config_widget.h" 0013 #include "kis_image.h" 0014 0015 0016 class KisPhongBumpmapWidget : public QWidget, public Ui::WdgPhongBumpmap 0017 { 0018 Q_OBJECT 0019 0020 public: 0021 KisPhongBumpmapWidget(QWidget *parent) : QWidget(parent) 0022 { 0023 setupUi(this); 0024 0025 ambientReflectivityKisDoubleSliderSpinBox -> setRange(0, 1, 2); 0026 diffuseReflectivityKisDoubleSliderSpinBox -> setRange(0, 1, 2); 0027 specularReflectivityKisDoubleSliderSpinBox -> setRange(0, 1, 2); 0028 shininessExponentKisSliderSpinBox -> setRange(1, 200); 0029 0030 ambientReflectivityKisDoubleSliderSpinBox -> setSingleStep(0.01); 0031 diffuseReflectivityKisDoubleSliderSpinBox -> setSingleStep(0.01); 0032 specularReflectivityKisDoubleSliderSpinBox -> setSingleStep(0.01); 0033 0034 ambientReflectivityKisDoubleSliderSpinBox -> setValue(0.1); 0035 diffuseReflectivityKisDoubleSliderSpinBox -> setValue(0.5); 0036 specularReflectivityKisDoubleSliderSpinBox -> setValue(0.5); 0037 shininessExponentKisSliderSpinBox -> setValue(40); 0038 0039 azimuthAngleSelector1->setDecimals(0); 0040 azimuthAngleSelector1->setRange(0, 359); 0041 azimuthAngleSelector1->setFlipOptionsMode(KisAngleSelector::FlipOptionsMode_MenuButton); 0042 azimuthAngleSelector2->setDecimals(0); 0043 azimuthAngleSelector2->setRange(0, 359); 0044 azimuthAngleSelector2->setFlipOptionsMode(KisAngleSelector::FlipOptionsMode_MenuButton); 0045 azimuthAngleSelector3->setDecimals(0); 0046 azimuthAngleSelector3->setRange(0, 359); 0047 azimuthAngleSelector3->setFlipOptionsMode(KisAngleSelector::FlipOptionsMode_MenuButton); 0048 azimuthAngleSelector4->setDecimals(0); 0049 azimuthAngleSelector4->setRange(0, 359); 0050 azimuthAngleSelector4->setFlipOptionsMode(KisAngleSelector::FlipOptionsMode_MenuButton); 0051 0052 elevationAngleSelector1->setDecimals(0); 0053 elevationAngleSelector1->setRange(0, 90); 0054 elevationAngleSelector1->setWrapping(false); 0055 elevationAngleSelector1->setFlipOptionsMode(KisAngleSelector::FlipOptionsMode_NoFlipOptions); 0056 elevationAngleSelector2->setDecimals(0); 0057 elevationAngleSelector2->setRange(0, 90); 0058 elevationAngleSelector2->setWrapping(false); 0059 elevationAngleSelector2->setFlipOptionsMode(KisAngleSelector::FlipOptionsMode_NoFlipOptions); 0060 elevationAngleSelector3->setDecimals(0); 0061 elevationAngleSelector3->setRange(0, 90); 0062 elevationAngleSelector3->setWrapping(false); 0063 elevationAngleSelector3->setFlipOptionsMode(KisAngleSelector::FlipOptionsMode_NoFlipOptions); 0064 elevationAngleSelector4->setDecimals(0); 0065 elevationAngleSelector4->setRange(0, 90); 0066 elevationAngleSelector4->setWrapping(false); 0067 elevationAngleSelector4->setFlipOptionsMode(KisAngleSelector::FlipOptionsMode_NoFlipOptions); 0068 0069 } 0070 }; 0071 0072 class KisPhongBumpmapConfigWidget : public KisConfigWidget 0073 { 0074 Q_OBJECT 0075 0076 public: 0077 KisPhongBumpmapConfigWidget(const KisPaintDeviceSP dev, QWidget *parent, Qt::WindowFlags f = Qt::WindowFlags()); 0078 ~KisPhongBumpmapConfigWidget() override {} 0079 void setConfiguration(const KisPropertiesConfigurationSP config) override; 0080 KisPropertiesConfigurationSP configuration() const override; 0081 KisPhongBumpmapWidget *m_page; 0082 0083 private: 0084 KisPaintDeviceSP m_device; 0085 private Q_SLOTS: 0086 void slotDisableHeightChannelCombobox(bool normalmapchecked); 0087 }; 0088 0089 #endif //KIS_PHONG_BUMPMAP_CONFIG_WIDGET_H