File indexing completed on 2024-05-26 04:34:14

0001 /*
0002  *  SPDX-FileCopyrightText: 2015 Wolthera van Hövell tot Westerflier <griffinvalley@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #include "kis_tangent_normal_paintop_settings_widget.h"
0008 #include "kis_brush_based_paintop_settings.h"
0009 #include "KisTangentTiltOptionWidget.h"
0010 
0011 #include <kis_properties_configuration.h>
0012 #include <KisStandardOptionData.h>
0013 #include <KisPaintOpOptionWidgetUtils.h>
0014 
0015 #include <KisCompositeOpOptionWidget.h>
0016 #include "KisSizeOptionWidget.h"
0017 #include "KisSpacingOptionWidget.h"
0018 #include "KisMirrorOptionWidget.h"
0019 #include "KisSharpnessOptionWidget.h"
0020 #include "KisScatterOptionWidget.h"
0021 #include "KisAirbrushOptionWidget.h"
0022 #include "KisPaintingModeOptionWidget.h"
0023 #include <KisTextureOptionWidget.h>
0024 
0025 KisTangentNormalPaintOpSettingsWidget::KisTangentNormalPaintOpSettingsWidget(QWidget* parent, KisResourcesInterfaceSP resourcesInterface, KoCanvasResourcesInterfaceSP canvasResourcesInterface):
0026     KisBrushBasedPaintopOptionWidget(KisBrushOptionWidgetFlag::SupportsPrecision |
0027                                      KisBrushOptionWidgetFlag::SupportsHSLBrushMode, parent)
0028 {
0029     Q_UNUSED(canvasResourcesInterface)
0030     namespace kpowu = KisPaintOpOptionWidgetUtils;
0031 
0032     setObjectName("brush option widget");
0033 
0034     addPaintOpOption(kpowu::createOptionWidget<KisCompositeOpOptionWidget>());
0035     addPaintOpOption(kpowu::createOpacityOptionWidget());
0036     addPaintOpOption(kpowu::createFlowOptionWidget());
0037     addPaintOpOption(kpowu::createOptionWidget<KisSizeOptionWidget>());
0038 
0039     addPaintOpOption(kpowu::createOptionWidget<KisTangentTiltOptionWidget>());
0040 
0041     addPaintOpOption(kpowu::createOptionWidget<KisSpacingOptionWidget>());
0042     addPaintOpOption(kpowu::createOptionWidget<KisMirrorOptionWidget>());
0043 
0044     addPaintOpOption(kpowu::createSoftnessOptionWidget());
0045     addPaintOpOption(kpowu::createOptionWidget<KisSharpnessOptionWidget>());
0046     addPaintOpOption(kpowu::createOptionWidget<KisScatterOptionWidget>());
0047     addPaintOpOption(kpowu::createRotationOptionWidget());
0048     addPaintOpOption(kpowu::createOptionWidget<KisAirbrushOptionWidget>());
0049     addPaintOpOption(kpowu::createRateOptionWidget());
0050     addPaintOpOption(kpowu::createOptionWidget<KisPaintingModeOptionWidget>());
0051 
0052     addPaintOpOption(kpowu::createOptionWidget<KisTextureOptionWidget>(KisTextureOptionData(), resourcesInterface));
0053     addPaintOpOption(kpowu::createStrengthOptionWidget());
0054 }
0055 
0056 KisTangentNormalPaintOpSettingsWidget::~KisTangentNormalPaintOpSettingsWidget() { }
0057 
0058 KisPropertiesConfigurationSP KisTangentNormalPaintOpSettingsWidget::configuration() const
0059 {
0060     KisBrushBasedPaintOpSettingsSP config = new KisBrushBasedPaintOpSettings(resourcesInterface());
0061     config->setProperty("paintop", "tangentnormal");
0062     writeConfiguration(config);
0063     return config;
0064 }
0065 
0066