Krita Source Code Documentation
Loading...
Searching...
No Matches
KisSprayOpOptionData.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2022 Agata Cacko <cacko.azh@gmail.com>
3 * SPDX-FileCopyrightText: 2008-2010 Lukáš Tvrdý <lukast.dev@gmail.com>
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 */
8
10
12{
13 QVariant v;
14 diameter = settings->getInt(SPRAY_DIAMETER);
15 aspect = settings->getDouble(SPRAY_ASPECT);
17 scale = settings->getDouble(SPRAY_SCALE);
18 spacing = settings->getDouble(SPRAY_SPACING);
22 coverage = settings->getDouble(SPRAY_COVERAGE) / 100.0;
24 {
25 const QString angularDistributionTypeStr = settings->getString(SPRAY_ANGULAR_DISTRIBUTION_TYPE, "uniform");
26 if (angularDistributionTypeStr == "curveBased") {
28 } else {
30 }
33 }
34 {
35 const QString radialDistributionTypeStr = settings->getString(SPRAY_RADIAL_DISTRIBUTION_TYPE, "");
36 if (radialDistributionTypeStr == "uniform") {
38 } else if (radialDistributionTypeStr == "gaussian") {
40 } else if (radialDistributionTypeStr == "clusterBased") {
42 } else if (radialDistributionTypeStr == "curveBased") {
44 } else {
45 // Old brush
46 if (settings->getBool(SPRAY_GAUSS_DISTRIBUTION, false)) {
48 } else {
50 }
51 }
57 }
58 return true;
59}
60
62{
66 setting->setProperty(SPRAY_SCALE, scale);
71 setting->setProperty(SPRAY_COVERAGE, coverage * 100.0);
74 setting->setProperty(SPRAY_ANGULAR_DISTRIBUTION_TYPE, "curveBased");
75 } else {
77 }
80 setting->setProperty(SPRAY_RADIAL_DISTRIBUTION_TYPE, "gaussian");
82 setting->setProperty(SPRAY_RADIAL_DISTRIBUTION_TYPE, "clusterBased");
84 setting->setProperty(SPRAY_RADIAL_DISTRIBUTION_TYPE, "curveBased");
85 } else {
87 }
88 QVariant c;
89 c.setValue(angularDistributionCurve);
94 c.setValue(radialDistributionCurve);
99}
100
qreal v
const QString SPRAY_ANGULAR_DISTRIBUTION_CURVE_REPEAT
const QString SPRAY_DIAMETER
const QString SPRAY_RADIAL_DISTRIBUTION_CURVE_REPEAT
const QString SPRAY_USE_DENSITY
const QString SPRAY_JITTER_MOVE_AMOUNT
const QString SPRAY_PARTICLE_COUNT
const QString SPRAY_RADIAL_DISTRIBUTION_CURVE
const QString SPRAY_COVERAGE
const QString SPRAY_ASPECT
const QString SPRAY_ANGULAR_DISTRIBUTION_CURVE
const QString SPRAY_SPACING
const QString SPRAY_RADIAL_DISTRIBUTION_STD_DEVIATION
const QString SPRAY_ROTATION
const QString SPRAY_ANGULAR_DISTRIBUTION_TYPE
const QString SPRAY_RADIAL_DISTRIBUTION_CLUSTERING_AMOUNT
const QString SPRAY_GAUSS_DISTRIBUTION
const QString SPRAY_SCALE
const QString SPRAY_JITTER_MOVEMENT
const QString SPRAY_RADIAL_DISTRIBUTION_TYPE
const QString SPRAY_RADIAL_DISTRIBUTION_CENTER_BIASED
const QString DEFAULT_CURVE_STRING
QString getString(const QString &name, const QString &def=QString()) const
virtual void setProperty(const QString &name, const QVariant &value)
bool getBool(const QString &name, bool def=false) const
int getInt(const QString &name, int def=0) const
double getDouble(const QString &name, double def=0.0) const
bool read(const KisPropertiesConfiguration *setting)
ParticleDistribution radialDistributionType
void write(KisPropertiesConfiguration *setting) const
ParticleDistribution angularDistributionType