Krita Source Code Documentation
Loading...
Searching...
No Matches
colorgenerator.cpp
Go to the documentation of this file.
1/*
2 * This file is part of the KDE project
3 *
4 * SPDX-FileCopyrightText: 2008 Boudewijn Rempt <boud@valdyas.org>
5 *
6 * SPDX-License-Identifier: GPL-2.0-or-later
7 */
8
9#include "colorgenerator.h"
10
11#include <QPoint>
12
13#include <kis_debug.h>
14
15#include <kpluginfactory.h>
16#include <klocalizedstring.h>
17
18#include <kis_fill_painter.h>
19#include <kis_image.h>
20#include <kis_paint_device.h>
21#include <kis_layer.h>
23#include <kis_global.h>
24#include <kis_selection.h>
25#include <kis_types.h>
28
29#include "kis_wdg_color.h"
30#include "ui_wdgcoloroptions.h"
31
32K_PLUGIN_FACTORY_WITH_JSON(KritaColorGeneratorFactory, "kritacolorgenerator.json", registerPlugin<KritaColorGenerator>();)
33
34KritaColorGenerator::KritaColorGenerator(QObject *parent, const QVariantList &)
35 : QObject(parent)
36{
38}
39
43
49
51{
52 KisFilterConfigurationSP config = factoryConfiguration(resourcesInterface);
53
54 QVariant v;
55 v.setValue(KoColor());
56 config->setProperty("color", v);
57 return config;
58}
59
61{
62 Q_UNUSED(dev);
63 return new KisWdgColor(parent);
64}
65
67 const QSize& size,
68 const KisFilterConfigurationSP config,
69 KoUpdater* progressUpdater) const
70{
71 KisPaintDeviceSP dst = dstInfo.paintDevice();
72
73 Q_ASSERT(!dst.isNull());
74 Q_ASSERT(config);
75
76 KoColor c;
77 if (config) {
78 c = config->getColor("color");
79
80
81 KisFillPainter gc(dst);
82 gc.setProgress(progressUpdater);
83 gc.setChannelFlags(config->channelFlags());
84 gc.setOpacityF(0.4);
85 gc.setSelection(dstInfo.selection());
86 gc.fillRect(QRect(dstInfo.topLeft(), size), c);
87 gc.end();
88 }
89}
90
91#include "colorgenerator.moc"
qreal v
@ FULLY_INDEPENDENT
void generate(KisProcessingInformation dst, const QSize &size, const KisFilterConfigurationSP config, KoUpdater *progressUpdater) const override
KisFilterConfigurationSP defaultConfiguration(KisResourcesInterfaceSP resourcesInterface) const override
KisConfigWidget * createConfigurationWidget(QWidget *parent, const KisPaintDeviceSP dev, bool useForMasks) const override
void fillRect(qint32 x, qint32 y, qint32 w, qint32 h, const KoColor &c, quint8 opacity)
static KisGeneratorRegistry * instance()
void add(KisGeneratorSP item)
void setSelection(KisSelectionSP selection)
void setOpacityF(qreal opacity)
void setProgress(KoUpdater *progressUpdater)
void setChannelFlags(QBitArray channelFlags)
bool isNull() const
Definition KoID.h:30
~KritaColorGenerator() override
KritaColorGenerator(QObject *parent, const QVariantList &)
K_PLUGIN_FACTORY_WITH_JSON(KritaASCCDLFactory, "kritaasccdl.json", registerPlugin< KritaASCCDL >();) KritaASCCDL
virtual KisFilterConfigurationSP factoryConfiguration(KisResourcesInterfaceSP resourcesInterface) const
void setSupportsPainting(bool v)
void setColorSpaceIndependence(ColorSpaceIndependence v)