Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_wdg_asccdl.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2017 Wolthera van Hövell tot Westerflier <griffinvalley@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#include "kis_wdg_asccdl.h"
8#include <kis_config.h>
9#include <kis_color_button.h>
15
17 :KisConfigWidget(parent),
18 m_page(new Ui_WdgASCCDL),
19 m_cs(cs)
20
21{
22 KoColor black(Qt::black, cs);
23 m_page->setupUi(this);
24 m_page->btnSlope->setColor(black);
25 m_page->btnOffset->setColor(black);
26 m_page->btnPower->setColor(black);
27
28 m_page->slopeSelector->slotSetColorSpace(m_cs);
29 m_page->offsetSelector->slotSetColorSpace(m_cs);
30 m_page->powerSelector->slotSetColorSpace(m_cs);
31
32 connect(m_page->btnSlope , SIGNAL(changed(KoColor)), this, SLOT(slopeColorChanged(KoColor)));
33 connect(m_page->btnOffset, SIGNAL(changed(KoColor)), this, SLOT(offsetColorChanged(KoColor)));
34 connect(m_page->btnPower , SIGNAL(changed(KoColor)), this, SLOT(powerColorChanged(KoColor)));
35 connect(m_page->slopeSelector, SIGNAL(sigNewColor(KoColor)), this, SLOT(slopeColorChanged(KoColor)));
36 connect(m_page->offsetSelector, SIGNAL(sigNewColor(KoColor)), this, SLOT(offsetColorChanged(KoColor)));
37 connect(m_page->powerSelector, SIGNAL(sigNewColor(KoColor)), this, SLOT(powerColorChanged(KoColor)));
38}
39
44
46{
48 QVariant colorVariant("KoColor");
49 colorVariant.setValue(m_page->btnSlope->color());
50 config->setProperty("slope", colorVariant);
51 colorVariant.setValue(m_page->btnOffset->color());
52 config->setProperty("offset", colorVariant);
53 colorVariant.setValue(m_page->btnPower->color());
54 config->setProperty("power", colorVariant);
55 return config;
56}
57
59{
60 KoColor white(m_cs);
61 QVector<float> channels(m_cs->channelCount());
62 m_cs->normalisedChannelsValue(white.data(), channels);
63 channels.fill(1.0);
64 m_cs->fromNormalisedChannelsValue(white.data(), channels);
65 KoColor black(Qt::black, m_cs);
66 KoColor slope = config->getColor("slope", white);
67 slope.convertTo(m_cs);
68 KoColor offset = config->getColor("offset", black);
69 offset.convertTo(m_cs);
70 KoColor power = config->getColor("power", white);
71 power.convertTo(m_cs);
72
73 m_page->btnSlope->setColor(slope);
74 m_page->slopeSelector->slotSetColor(slope);
75 m_page->btnOffset->setColor(offset);
76 m_page->offsetSelector->slotSetColor(offset);
77 m_page->btnPower->setColor (power);
78 m_page->powerSelector->slotSetColor(power);
79}
80
82{
83 if (QObject::sender() == m_page->btnSlope) {
84 m_page->slopeSelector->slotSetColor(c);
85 } else {
86 m_page->btnSlope->setColor(c);
87 }
89}
90
92{
93 if (QObject::sender() == m_page->btnOffset) {
94 m_page->offsetSelector->slotSetColor(c);
95 } else {
96 m_page->btnOffset->setColor(c);
97 }
99}
100
102{
103 if (QObject::sender() == m_page->btnPower) {
104 m_page->powerSelector->slotSetColor(c);
105 } else {
106 m_page->btnPower->setColor(c);
107 }
109}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
Ui_WdgASCCDL * m_page
void offsetColorChanged(const KoColor &c)
void powerColorChanged(const KoColor &c)
KisASCCDLConfigWidget(QWidget *parent, const KoColorSpace *cs)
const KoColorSpace * m_cs
~KisASCCDLConfigWidget() override
void setConfiguration(const KisPropertiesConfigurationSP config) override
void slopeColorChanged(const KoColor &c)
KisPropertiesConfigurationSP configuration() const override
void sigConfigurationItemChanged()
static KisResourcesInterfaceSP instance()
virtual quint32 channelCount() const =0
virtual void normalisedChannelsValue(const quint8 *pixel, QVector< float > &channels) const =0
virtual void fromNormalisedChannelsValue(quint8 *pixel, const QVector< float > &values) const =0
void convertTo(const KoColorSpace *cs, KoColorConversionTransformation::Intent renderingIntent, KoColorConversionTransformation::ConversionFlags conversionFlags)
Definition KoColor.cpp:136
quint8 * data()
Definition KoColor.h:144