Commit 2fec780a authored by Sven Langkamp's avatar Sven Langkamp

cleanup in defaultpaintops

svn path=/trunk/koffice/; revision=1097446
parent abc63d50
......@@ -12,7 +12,6 @@ set(kritadefaultpaintops_PART_SRCS
airbrush/kis_airbrushop_settings.cpp
airbrush/kis_airbrushop_settings_widget.cpp
brush/kis_brushop.cpp
brush/kis_brushop_settings.cpp
brush/kis_brushop_settings_widget.cpp
duplicate/kis_duplicateop.cpp
duplicate/kis_duplicateop_factory.cpp
......@@ -20,13 +19,10 @@ set(kritadefaultpaintops_PART_SRCS
duplicate/kis_duplicateop_settings_widget.cpp
duplicate/kis_duplicateop_option.cpp
eraser/kis_eraseop.cpp
eraser/kis_eraseop_settings.cpp
eraser/kis_eraseop_settings_widget.cpp
pen/kis_penop.cpp
pen/kis_penop_settings.cpp
pen/kis_penop_settings_widget.cpp
smudge/kis_smudgeop.cpp
smudge/kis_smudgeop_settings.cpp
smudge/kis_smudgeop_settings_widget.cpp
)
......
......@@ -22,42 +22,23 @@
#include "kis_brushop.h"
#include <string.h>
#include <QRect>
#include <QWidget>
#include <QLayout>
#include <QLabel>
#include <QCheckBox>
#include <QDomElement>
#include <QHBoxLayout>
#include <qtoolbutton.h>
#include <kis_image.h>
#include <kis_debug.h>
#include <KoColorTransformation.h>
#include <KoColor.h>
#include <KoInputDevice.h>
#include <kis_brush.h>
#include <kis_datamanager.h>
#include <kis_global.h>
#include <kis_paint_device.h>
#include <kis_painter.h>
#include <kis_paintop.h>
#include <kis_properties_configuration.h>
#include <kis_selection.h>
#include <kis_brush_option_widget.h>
#include <kis_paintop_options_widget.h>
#include <kis_brushop_settings.h>
#include <kis_brushop_settings_widget.h>
#include <kis_brush_based_paintop_settings.h>
#include <kis_color_source.h>
KisBrushOp::KisBrushOp(const KisBrushOpSettings *settings, KisPainter *painter, KisImageWSP image)
KisBrushOp::KisBrushOp(const KisBrushBasedPaintOpSettings *settings, KisPainter *painter, KisImageWSP image)
: KisBrushBasedPaintOp(settings, painter)
, settings(settings)
{
Q_UNUSED(image);
Q_ASSERT(settings);
......
......@@ -27,13 +27,10 @@
#include <kis_pressure_darken_option.h>
#include <kis_pressure_opacity_option.h>
#include <kis_pressure_size_option.h>
#include <kis_paint_action_type_option.h>
#include <kis_pressure_rotation_option.h>
#include <kis_pressure_mix_option.h>
class KisBrushOptionWidget;
class KisBrushOpSettings;
class KisBrushOpSettingsWidget;
class KisBrushBasedPaintOpSettings;
class QWidget;
class QPointF;
......@@ -46,14 +43,13 @@ class KisBrushOp : public KisBrushBasedPaintOp
public:
KisBrushOp(const KisBrushOpSettings *settings, KisPainter * painter, KisImageWSP image);
KisBrushOp(const KisBrushBasedPaintOpSettings *settings, KisPainter * painter, KisImageWSP image);
virtual ~KisBrushOp();
double paintAt(const KisPaintInformation& info);
private:
KisColorSource* m_colorSource;
const KisBrushOpSettings * settings;
KisPressureSizeOption m_sizeOption;
KisPressureOpacityOption m_opacityOption;
KisPressureDarkenOption m_darkenOption;
......
/*
* Copyright (c) 2002 Patrick Julien <freak@codepimps.org>
* Copyright (c) 2004-2008 Boudewijn Rempt <boud@valdyas.org>
* Copyright (c) 2004 Clarence Dang <dang@kde.org>
* Copyright (c) 2004 Adrian Page <adrian@pagenet.plus.com>
* Copyright (c) 2004 Cyrille Berger <cberger@cberger.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include "kis_brushop_settings.h"
#include <kis_paint_action_type_option.h>
KisBrushOpSettings::KisBrushOpSettings()
{
}
KisBrushOpSettings::~KisBrushOpSettings()
{
}
bool KisBrushOpSettings::paintIncremental()
{
return (enumPaintActionType)getInt("PaintOpAction", WASH) == BUILDUP;
}
/*
* Copyright (c) 2002 Patrick Julien <freak@codepimps.org>
* Copyright (c) 2004-2008 Boudewijn Rempt <boud@valdyas.org>
* Copyright (c) 2004 Clarence Dang <dang@kde.org>
* Copyright (c) 2004 Adrian Page <adrian@pagenet.plus.com>
* Copyright (c) 2004 Cyrille Berger <cberger@cberger.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef KIS_BRUSHOP_SETTINGS_H_
#define KIS_BRUSHOP_SETTINGS_H_
#include <kis_brush_based_paintop_settings.h>
#include <kis_types.h>
class KisBrushOpSettings : public KisBrushBasedPaintOpSettings
{
public:
KisBrushOpSettings();
virtual ~KisBrushOpSettings();
bool paintIncremental();
};
#endif // KIS_BRUSHOP_SETTINGS_H_
......@@ -21,10 +21,7 @@
*/
#include "kis_brushop_settings_widget.h"
#include "kis_brushop_settings.h"
#include <kis_properties_configuration.h>
#include <kis_brush_option_widget.h>
#include <kis_paintop_options_widget.h>
#include <kis_brush_based_paintop_settings.h>
#include <kis_pressure_darken_option.h>
#include <kis_pressure_opacity_option.h>
#include <kis_pressure_size_option.h>
......@@ -52,7 +49,7 @@ KisBrushOpSettingsWidget::~KisBrushOpSettingsWidget()
KisPropertiesConfiguration* KisBrushOpSettingsWidget::configuration() const
{
KisBrushOpSettings *config = new KisBrushOpSettings();
KisBrushBasedPaintOpSettings *config = new KisBrushBasedPaintOpSettings();
config->setOptionsWidget(const_cast<KisBrushOpSettingsWidget*>(this));
config->setProperty("paintop", "paintbrush"); // XXX: make this a const id string
writeConfiguration(config);
......
......@@ -24,7 +24,6 @@
#define KIS_BRUSHOP_SETTINGS_WIDGET_H_
#include <kis_brush_based_paintop_options_widget.h>
#include <kis_image.h>
class KisBrushOptionWidget;
......
......@@ -27,22 +27,18 @@
#include <kpluginfactory.h>
#include "kis_simple_paintop_factory.h"
#include "kis_airbrushop.h"
#include "kis_airbrushop_settings.h"
#include "kis_airbrushop_settings_widget.h"
#include "kis_brushop.h"
#include "kis_brushop_settings.h"
#include "kis_brushop_settings_widget.h"
#include "kis_duplicateop_factory.h"
#include "kis_eraseop.h"
#include "kis_eraseop_settings.h"
#include "kis_eraseop_settings_widget.h"
#include "kis_penop.h"
#include "kis_penop_settings.h"
#include "kis_penop_settings_widget.h"
#include "kis_smudgeop.h"
#include "kis_smudgeop_settings.h"
#include "kis_smudgeop_settings_widget.h"
#include "kis_global.h"
#include "kis_paintop_registry.h"
#include "kis_brush_based_paintop_settings.h"
K_PLUGIN_FACTORY(DefaultPaintOpsPluginFactory, registerPlugin<DefaultPaintOpsPlugin>();)
K_EXPORT_PLUGIN(DefaultPaintOpsPluginFactory("krita"))
......@@ -54,11 +50,10 @@ DefaultPaintOpsPlugin::DefaultPaintOpsPlugin(QObject *parent, const QVariantList
//setComponentData(DefaultPaintOpsPluginFactory::componentData());
KisPaintOpRegistry *r = KisPaintOpRegistry::instance();
r->add(new KisSimplePaintOpFactory<KisAirbrushOp, KisAirbrushOpSettings, KisAirbrushOpSettingsWidget>("airbrush", i18n("Pixel Airbrush"), "krita-airbrush.png"));
r->add(new KisSimplePaintOpFactory<KisBrushOp, KisBrushOpSettings, KisBrushOpSettingsWidget>("paintbrush", i18n("Pixel Brush"), "krita-paintbrush.png"));
r->add(new KisSimplePaintOpFactory<KisBrushOp, KisBrushBasedPaintOpSettings, KisBrushOpSettingsWidget>("paintbrush", i18n("Pixel Brush"), "krita-paintbrush.png"));
r->add(new KisDuplicateOpFactory);
r->add(new KisSimplePaintOpFactory<KisEraseOp, KisEraseOpSettings, KisEraseOpSettingsWidget>("eraser", i18n("Pixel Eraser"), "krita-eraser.png"));
r->add(new KisSimplePaintOpFactory<KisPenOp, KisPenOpSettings, KisPenOpSettingsWidget>("pencil", "Pixel Pencil", "krita-pencil.png"));
r->add(new KisSimplePaintOpFactory<KisEraseOp, KisBrushBasedPaintOpSettings, KisEraseOpSettingsWidget>("eraser", i18n("Pixel Eraser"), "krita-eraser.png"));
r->add(new KisSimplePaintOpFactory<KisPenOp, KisBrushBasedPaintOpSettings, KisPenOpSettingsWidget>("pencil", "Pixel Pencil", "krita-pencil.png"));
r->add(new KisSimplePaintOpFactory<KisSmudgeOp, KisBrushBasedPaintOpSettings, KisSmudgeOpSettingsWidget>("smudge", i18n("Smudge Brush"), "krita-smudgebrush.png"));
}
......
......@@ -22,16 +22,7 @@
#include "kis_eraseop.h"
#include <string.h>
#include <QRect>
#include <QWidget>
#include <QLayout>
#include <QLabel>
#include <QCheckBox>
#include <QDomElement>
#include <QHBoxLayout>
#include <qtoolbutton.h>
#include <kis_image.h>
#include <kis_debug.h>
......@@ -39,27 +30,15 @@
#include <KoColorTransformation.h>
#include <KoColor.h>
#include <KoCompositeOp.h>
#include <KoInputDevice.h>
#include <kis_brush.h>
#include <kis_datamanager.h>
#include <kis_global.h>
#include <kis_paint_device.h>
#include <kis_painter.h>
#include <kis_paintop.h>
#include <kis_properties_configuration.h>
#include <kis_selection.h>
#include <kis_brush_option_widget.h>
#include <kis_paintop_options_widget.h>
#include <kis_paint_action_type_option.h>
#include <kis_eraseop_settings.h>
#include <kis_eraseop_settings_widget.h>
#include <kis_brush_based_paintop_settings.h>
KisEraseOp::KisEraseOp(const KisEraseOpSettings *settings, KisPainter *painter, KisImageWSP image)
KisEraseOp::KisEraseOp(const KisBrushBasedPaintOpSettings *settings, KisPainter *painter, KisImageWSP image)
: KisBrushBasedPaintOp(settings, painter)
, settings(settings)
{
Q_UNUSED(image);
Q_ASSERT(settings);
......
......@@ -23,21 +23,13 @@
#ifndef KIS_ERASEOP_H_
#define KIS_ERASEOP_H_
#include "kis_brush_based_paintop.h"
#include <klocale.h>
#include <QDialog>
#include <KoColorSpace.h>
#include <kis_paintop_factory.h>
#include <kis_paintop_settings.h>
#include <kis_paintop_options_widget.h>
#include "kis_brush_based_paintop.h"
#include <kis_pressure_opacity_option.h>
#include <kis_pressure_size_option.h>
class KisBrushOptionWidget;
class KisPaintActionTypeOption;
class KisEraseOpSettings;
class KisEraseOpSettingsWidget;
class KisBrushBasedPaintOpSettings;
class QWidget;
class QPointF;
......@@ -49,14 +41,12 @@ class KisEraseOp : public KisBrushBasedPaintOp
public:
KisEraseOp(const KisEraseOpSettings *settings, KisPainter * painter, KisImageWSP image);
KisEraseOp(const KisBrushBasedPaintOpSettings *settings, KisPainter * painter, KisImageWSP image);
virtual ~KisEraseOp();
double paintAt(const KisPaintInformation& info);
private:
const KisEraseOpSettings * settings;
KisPressureOpacityOption m_opacityOption;
KisPressureSizeOption m_sizeOption;
};
......
/*
* Copyright (c) 2002 Patrick Julien <freak@codepimps.org>
* Copyright (c) 2004-2008 Boudewijn Rempt <boud@valdyas.org>
* Copyright (c) 2004 Clarence Dang <dang@kde.org>
* Copyright (c) 2004 Adrian Page <adrian@pagenet.plus.com>
* Copyright (c) 2004 Cyrille Berger <cberger@cberger.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include "kis_eraseop_settings.h"
#include "kis_eraseop_settings_widget.h"
#include <kis_brush_option_widget.h>
#include <kis_paintop_options_widget.h>
#include <kis_pressure_darken_option.h>
#include <kis_pressure_opacity_option.h>
#include <kis_pressure_size_option.h>
#include <kis_paint_action_type_option.h>
KisEraseOpSettings::KisEraseOpSettings()
: m_options(0)
{
}
KisEraseOpSettings::~KisEraseOpSettings()
{
}
bool KisEraseOpSettings::paintIncremental()
{
return true;
}
/*
* Copyright (c) 2002 Patrick Julien <freak@codepimps.org>
* Copyright (c) 2004-2008 Boudewijn Rempt <boud@valdyas.org>
* Copyright (c) 2004 Clarence Dang <dang@kde.org>
* Copyright (c) 2004 Adrian Page <adrian@pagenet.plus.com>
* Copyright (c) 2004 Cyrille Berger <cberger@cberger.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef KIS_ERASEOP_SETTINGS_H_
#define KIS_ERASEOP_SETTINGS_H_
#include <kis_paintop_settings.h>
#include <kis_types.h>
#include "kis_eraseop_settings_widget.h"
class QDomElement;
class KisEraseOpSettings : public KisPaintOpSettings
{
public:
KisEraseOpSettings();
virtual ~KisEraseOpSettings();
bool paintIncremental();
public:
KisEraseOpSettingsWidget *m_options;
};
#endif // KIS_ERASEOP_SETTINGS_H_
......@@ -21,7 +21,7 @@
*/
#include "kis_eraseop_settings_widget.h"
#include "kis_eraseop_settings.h"
#include <kis_brush_based_paintop_settings.h>
#include <kis_properties_configuration.h>
#include <kis_pressure_opacity_option.h>
#include <kis_pressure_size_option.h>
......@@ -43,7 +43,7 @@ KisEraseOpSettingsWidget::~KisEraseOpSettingsWidget()
KisPropertiesConfiguration* KisEraseOpSettingsWidget::configuration() const
{
KisEraseOpSettings *config = new KisEraseOpSettings();
KisBrushBasedPaintOpSettings *config = new KisBrushBasedPaintOpSettings();
config->setOptionsWidget(const_cast<KisEraseOpSettingsWidget*>(this));
config->setProperty("paintop", "eraser"); // XXX: make this a const id string
writeConfiguration(config);
......
......@@ -24,7 +24,6 @@
#define KIS_ERASEOP_SETTINGS_WIDGET_H_
#include <kis_brush_based_paintop_options_widget.h>
#include <kis_image.h>
#include <kis_pressure_opacity_option.h>
#include <kis_pressure_size_option.h>
......
......@@ -33,15 +33,10 @@
#include <kis_global.h>
#include <kis_paint_device.h>
#include <kis_painter.h>
#include <kis_paintop.h>
#include <kis_selection.h>
#include <kis_brush_option_widget.h>
#include <kis_brush_based_paintop_settings.h>
#include <kis_penop_settings.h>
KisPenOp::KisPenOp(const KisPenOpSettings *settings, KisPainter *painter, KisImageWSP image)
KisPenOp::KisPenOp(const KisBrushBasedPaintOpSettings *settings, KisPainter *painter, KisImageWSP image)
: KisBrushBasedPaintOp(settings, painter)
, settings(settings)
{
Q_UNUSED(image);
Q_ASSERT(settings);
......
......@@ -24,30 +24,23 @@
#define KIS_PENOP_H_
#include "kis_brush_based_paintop.h"
#include <kis_paintop_factory.h>
#include <kis_paintop_settings.h>
#include <kis_pressure_darken_option.h>
#include <kis_pressure_opacity_option.h>
#include <kis_pressure_size_option.h>
class KisBrushOptionWidget;
class KisPenOpSettings;
class KisBrushBasedPaintOpSettings;
class KisPenOp : public KisBrushBasedPaintOp
{
public:
KisPenOp(const KisPenOpSettings *settings, KisPainter * painter, KisImageWSP image);
KisPenOp(const KisBrushBasedPaintOpSettings *settings, KisPainter * painter, KisImageWSP image);
virtual ~KisPenOp();
double paintAt(const KisPaintInformation& info);
private:
const KisPenOpSettings * settings;
KisPressureOpacityOption m_opacityOption;
KisPressureDarkenOption m_darkenOption;
KisPressureSizeOption m_sizeOption;
......
/*
* Copyright (c) 2002 Patrick Julien <freak@codepimps.org>
* Copyright (c) 2004-2008 Boudewijn Rempt <boud@valdyas.org>
* Copyright (c) 2004 Clarence Dang <dang@kde.org>
* Copyright (c) 2004 Adrian Page <adrian@pagenet.plus.com>
* Copyright (c) 2004 Cyrille Berger <cberger@cberger.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include "kis_penop_settings.h"
#include <kis_paint_action_type_option.h>
KisPenOpSettings::KisPenOpSettings()
{
}
KisPenOpSettings::~KisPenOpSettings()
{
}
bool KisPenOpSettings::paintIncremental()
{
return (enumPaintActionType)getInt("PaintOpAction", WASH) == BUILDUP;
}
/*
* Copyright (c) 2002 Patrick Julien <freak@codepimps.org>
* Copyright (c) 2004-2008 Boudewijn Rempt <boud@valdyas.org>
* Copyright (c) 2004 Clarence Dang <dang@kde.org>
* Copyright (c) 2004 Adrian Page <adrian@pagenet.plus.com>
* Copyright (c) 2004 Cyrille Berger <cberger@cberger.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef KIS_PENOP_SETTINGS_H_
#define KIS_PENOP_SETTINGS_H_
#include <kis_brush_based_paintop_settings.h>
#include <kis_paintop_settings.h>
#include <kis_types.h>
class QDomElement;
class KisPenOpSettings : public KisBrushBasedPaintOpSettings
{
public:
KisPenOpSettings();
virtual ~KisPenOpSettings();
bool paintIncremental();
};
#endif // KIS_PENOP_SETTINGS_H_
......@@ -21,7 +21,7 @@
*/
#include "kis_penop_settings_widget.h"
#include "kis_penop_settings.h"
#include "kis_brush_based_paintop_settings.h"
#include <kis_properties_configuration.h>
#include <kis_pressure_darken_option.h>
#include <kis_pressure_opacity_option.h>
......@@ -47,7 +47,7 @@ KisPenOpSettingsWidget::~KisPenOpSettingsWidget()
KisPropertiesConfiguration* KisPenOpSettingsWidget::configuration() const
{
KisPenOpSettings *config = new KisPenOpSettings();
KisBrushBasedPaintOpSettings *config = new KisBrushBasedPaintOpSettings();
config->setOptionsWidget(const_cast<KisPenOpSettingsWidget*>(this));
config->setProperty("paintop", "pencil"); // XXX: make this a const id string
writeConfiguration(config);
......
......@@ -22,16 +22,7 @@
#include "kis_smudgeop.h"
#include <string.h>
#include <QRect>
#include <QWidget>
#include <QLayout>
#include <QLabel>
#include <QCheckBox>
#include <QDomElement>
#include <QHBoxLayout>
#include <qtoolbutton.h>
#include <kis_debug.h>
......@@ -39,20 +30,16 @@
#include <KoColorTransformation.h>
#include <KoColor.h>
#include <KoCompositeOp.h>
#include <KoInputDevice.h>
#include <kis_brush.h>
#include <kis_global.h>
#include <kis_paint_device.h>
#include <kis_painter.h>
#include <kis_paintop.h>
#include <kis_properties_configuration.h>
#include <kis_selection.h>
#include <kis_brush_based_paintop_settings.h>
KisSmudgeOp::KisSmudgeOp(const KisBrushBasedPaintOpSettings *settings, KisPainter *painter, KisImageWSP image)
: KisBrushBasedPaintOp(settings, painter)
, settings(settings)
, m_firstRun(true)
, m_target(0)
, m_srcdev(0)
......
......@@ -23,28 +23,19 @@
#ifndef KIS_SMUDGEOP_H_
#define KIS_SMUDGEOP_H_
#include "kis_brush_based_paintop.h"
#include <klocale.h>
#include <QDialog>
#include <KoColorSpace.h>
#include "kis_brush_based_paintop.h"
#include <kis_types.h>
#include <kis_paintop_factory.h>
#include <kis_paintop_settings.h>