Krita Source Code Documentation
Loading...
Searching...
No Matches
KisScreentoneGeneratorConfiguration.h
Go to the documentation of this file.
1/*
2 * KDE. Krita Project.
3 *
4 * SPDX-FileCopyrightText: 2021 Deif Lou <ginoba@gmail.com>
5 *
6 * SPDX-License-Identifier: GPL-2.0-or-later
7 */
8
9#ifndef KISSCREENTONEGENERATORCONFIGURATION_H
10#define KISSCREENTONEGENERATORCONFIGURATION_H
11
12#include <QString>
13#include <QStringList>
14#include <QScopedPointer>
15
16#include <KoColor.h>
19
21
27
43
49
56
62
68
71QStringList screentoneInterpolationNames(int pattern, int shape);
72
75
77{
78public:
83
84 virtual KisFilterConfigurationSP clone() const override;
85
86 static inline QString defaultName() { return "screentone"; }
87 static constexpr qint32 defaultVersion() { return 2; }
88
89 static constexpr int defaultPattern() { return KisScreentonePatternType_Dots; }
90 static constexpr int defaultShape() { return KisScreentoneShapeType_RoundDots; }
93
94 static inline const KoColor& defaultForegroundColor()
95 {
96 static const KoColor c(Qt::black, KoColorSpaceRegistry::instance()->rgb8());
97 return c;
98 }
99 static inline const KoColor& defaultBackgroundColor()
100 {
101 static const KoColor c(Qt::white, KoColorSpaceRegistry::instance()->rgb8());
102 return c;
103 }
104 static constexpr int defaultForegroundOpacity() { return 100; }
105 static constexpr int defaultBackgroundOpacity() { return 100; }
106 static constexpr bool defaultInvert() { return false; }
107 static constexpr qreal defaultBrightness() { return 50.0; }
108 static constexpr qreal defaultContrast() { return 95.0; }
109
111 static constexpr int defaultUnits() { return KisScreentoneUnits_Inches; }
112 static constexpr qreal defaultResolution() { return 300.0; }
113 static constexpr qreal defaultFrequencyX() { return 30.0; }
114 static constexpr qreal defaultFrequencyY() { return 30.0; }
115 static constexpr bool defaultConstrainFrequency() { return true; }
116 static constexpr qreal defaultPositionX() { return 0.0; }
117 static constexpr qreal defaultPositionY() { return 0.0; }
118 static constexpr qreal defaultSizeX() { return 10.0; }
119 static constexpr qreal defaultSizeY() { return 10.0; }
120 static constexpr bool defaultConstrainSize() { return true; }
121 static constexpr qreal defaultShearX() { return 0.0; }
122 static constexpr qreal defaultShearY() { return 0.0; }
123 static constexpr qreal defaultRotation() { return 45.0; }
124 static constexpr bool defaultAlignToPixelGrid() { return true; }
125 static constexpr int defaultAlignToPixelGridX() { return 1; }
126 static constexpr int defaultAlignToPixelGridY() { return 1; }
127
128 int pattern() const;
129 int shape() const;
130 int interpolation() const;
131 int equalizationMode() const;
132
133 KoColor foregroundColor() const;
134 KoColor backgroundColor() const;
135 int foregroundOpacity() const;
136 int backgroundOpacity() const;
137 bool invert() const;
138 qreal brightness() const;
139 qreal contrast() const;
140
141 int sizeMode() const;
142 int units() const;
143 qreal resolution() const;
144 qreal frequencyX() const;
145 qreal frequencyY() const;
146 bool constrainFrequency() const;
147 qreal positionX() const;
148 qreal positionY() const;
149 qreal sizeX() const;
150 qreal sizeY() const;
151 bool constrainSize() const;
152 qreal shearX() const;
153 qreal shearY() const;
154 qreal rotation() const;
155 bool alignToPixelGrid() const;
156 int alignToPixelGridX() const;
157 int alignToPixelGridY() const;
159
160 void setPattern(int newPattern);
161 void setShape(int newShape);
162 void setInterpolation(int newInterpolation);
163 void setEqualizationMode(int newEqualizationMode);
164
165 void setForegroundColor(const KoColor &newForegroundColor);
166 void setBackgroundColor(const KoColor &newBackgroundColor);
167 void setForegroundOpacity(int newForegroundOpacity);
168 void setBackgroundOpacity(int newBackgroundOpacity);
169 void setInvert(bool newInvert);
170 void setBrightness(qreal newBrightness);
171 void setContrast(qreal newContrast);
172
173 void setSizeMode(int newSizeMode);
174 void setUnits(int newUnits);
175 void setResolution(qreal newResolution);
176 void setFrequencyX(qreal newFrequencyX);
177 void setFrequencyY(qreal newFrequencyY);
178 void setConstrainFrequency(bool newConstrainFrequency);
179 void setPositionX(qreal newPositionX);
180 void setPositionY(qreal newPositionY);
181 void setSizeX(qreal newSizeX);
182 void setSizeY(qreal newSizeY);
183 void setConstrainSize(bool newConstrainSize);
184 void setShearX(qreal newShearX);
185 void setShearY(qreal newShearY);
186 void setRotation(qreal newRotation);
187 void setAlignToPixelGrid(bool newAlignToPixelGrid);
188 void setAlignToPixelGridX(int newAlignToPixelGridX);
189 void setAlignToPixelGridY(int newAlignToPixelGridY);
190
191 void setDefaults();
192
193private:
194 class Private;
195 QScopedPointer<Private> m_d;
196};
197
198#endif
@ KisScreentoneShapeType_TriangularWaveLines
@ KisScreentoneInterpolationType_Sinusoidal
QStringList screentoneInterpolationNames(int pattern, int shape)
@ KisScreentoneEqualizationMode_TemplateBased
@ KisScreentoneEqualizationMode_FunctionBased
QStringList screentonePatternNames()
KisPinnedSharedPtr< KisScreentoneGeneratorConfiguration > KisScreentoneGeneratorConfigurationSP
QStringList screentoneShapeNames(int pattern)
void setForegroundColor(const KoColor &newForegroundColor)
virtual KisFilterConfigurationSP clone() const override
void setBackgroundColor(const KoColor &newBackgroundColor)
const KisScreentoneGeneratorTemplate & getTemplate() const
KisScreentoneGeneratorConfiguration(qint32 version, KisResourcesInterfaceSP resourcesInterface)
KisResourcesInterfaceSP resourcesInterface
static KoColorSpaceRegistry * instance()