10#ifndef KISGRADIENTGENERATORCONFIGURATION_H
11#define KISGRADIENTGENERATORCONFIGURATION_H
173 gradient->setName(i18nc(
"Default gradient name for the gradient generator",
"Unnamed"));
224 const QString & defaultShapeString = QString())
237 return "conical_symetric";
241 return "reverse_spiral";
245 return defaultShapeString;
251 if (shapeString ==
"linear") {
253 }
else if (shapeString ==
"bilinear") {
255 }
else if (shapeString ==
"radial") {
257 }
else if (shapeString ==
"square") {
259 }
else if (shapeString ==
"conical") {
261 }
else if (shapeString ==
"conical_symetric") {
263 }
else if (shapeString ==
"spiral") {
265 }
else if (shapeString ==
"reverse_spiral") {
267 }
else if (shapeString ==
"polygonal") {
274 const QString & defaultRepeatString = QString())
283 return defaultRepeatString;
289 if (repeatString ==
"none") {
291 }
else if (repeatString ==
"forwards") {
293 }
else if (repeatString ==
"alternate") {
300 const QString &defaultCoordinateSystemString = QString())
307 return defaultCoordinateSystemString;
313 if (coordinateSystemString ==
"cartesian") {
315 }
else if (coordinateSystemString ==
"polar") {
318 return defaultCoordinateSystem;
322 const QString &defaultSpatialUnitsString = QString())
327 return "percent_of_width";
329 return "percent_of_height";
331 return "percent_of_longest_side";
333 return "percent_of_shortest_side";
335 return defaultSpatialUnitsString;
341 if (spatialUnitsString ==
"pixels") {
343 }
else if (spatialUnitsString ==
"percent_of_width") {
345 }
else if (spatialUnitsString ==
"percent_of_height") {
347 }
else if (spatialUnitsString ==
"percent_of_longest_side") {
349 }
else if (spatialUnitsString ==
"percent_of_shortest_side") {
352 return defaultSpatialUnits;
356 const QString &defaultPositioningString = QString())
363 return defaultPositioningString;
369 if (positioningString ==
"absolute") {
371 }
else if (positioningString ==
"relative") {
374 return defaultPositioning;
381 return x *
static_cast<qreal
>(width) / 100.0;
383 return x *
static_cast<qreal
>(height) / 100.0;
385 return x *
static_cast<qreal
>(qMax(width, height)) / 100.0;
387 return x *
static_cast<qreal
>(qMin(width, height)) / 100.0;
KisPinnedSharedPtr< KisGradientGeneratorConfiguration > KisGradientGeneratorConfigurationSP
QSharedPointer< KoStopGradient > KoStopGradientSP
static constexpr SpatialUnits defaultStartPositionYUnits()
void setShape(KisGradientPainter::enumGradientShape newShape)
static constexpr Positioning defaultEndPositionXPositioning()
static constexpr qreal defaultEndPositionX()
static QString defaultName()
static constexpr bool defaultDither()
void setEndPositionYPositioning(Positioning newEndPositionYPositioning)
static constexpr qint32 defaultVersion()
qreal endPositionX() const
static constexpr SpatialUnits defaultEndPositionDistanceUnits()
void setEndPositionYUnits(SpatialUnits newEndPositionYUnits)
qreal endPositionDistance() const
static KisGradientPainter::enumGradientRepeat stringToRepeat(QString const &repeatString, KisGradientPainter::enumGradientRepeat defaultRepeat=KisGradientPainter::GradientRepeatNone)
void setStartPositionYUnits(SpatialUnits newStartPositionYUnits)
static constexpr SpatialUnits defaultEndPositionYUnits()
CoordinateSystem endPositionCoordinateSystem() const
static qreal convertUnitsToPixels(qreal x, SpatialUnits sourceUnits, int width, int height)
static constexpr Positioning defaultEndPositionYPositioning()
QPair< QPointF, QPointF > absoluteCartesianPositionsInPixels(int width, int height) const
static constexpr qreal defaultStartPositionX()
static QString shapeToString(KisGradientPainter::enumGradientShape shape, const QString &defaultShapeString=QString())
static constexpr CoordinateSystem defaultEndPositionCoordinateSystem()
static QString coordinateSystemToString(CoordinateSystem coordinateSystem, const QString &defaultCoordinateSystemString=QString())
SpatialUnits startPositionXUnits() const
SpatialUnits endPositionXUnits() const
qreal antiAliasThreshold() const
static constexpr qreal defaultEndPositionY()
static constexpr qreal defaultAntiAliasThreshold()
void setEndPositionY(qreal newEndPositionY)
void setStartPositionY(qreal newStartPositionY)
void setStartPositionX(qreal newStartPositionX)
KisGradientPainter::enumGradientShape shape() const
@ SpatialUnitsPercentOfHeight
@ SpatialUnitsPercentOfLongestSide
@ SpatialUnitsPercentOfWidth
@ SpatialUnitsPercentOfShortestSide
KisGradientGeneratorConfiguration(qint32 version, KisResourcesInterfaceSP resourcesInterface)
void setReverse(bool newReverse)
static KoAbstractGradientSP defaultGradient()
void setEndPositionX(qreal newEndPositionX)
static constexpr KisGradientPainter::enumGradientShape defaultShape()
qreal startPositionX() const
void setRepeat(KisGradientPainter::enumGradientRepeat newRepeat)
static constexpr bool defaultReverse()
static constexpr qreal defaultStartPositionY()
qreal endPositionY() const
static constexpr qreal defaultEndPositionAngle()
KisGradientPainter::enumGradientRepeat repeat() const
void setEndPositionXPositioning(Positioning newEndPositionXPositioning)
Positioning endPositionXPositioning() const
void setAntiAliasThreshold(qreal newAntiAliasThreshold)
void setGradient(KoAbstractGradientSP newGradient)
static KisGradientPainter::enumGradientShape stringToShape(QString const &shapeString, KisGradientPainter::enumGradientShape defaultShape=KisGradientPainter::GradientShapeLinear)
static SpatialUnits stringToSpatialUnits(QString const &spatialUnitsString, SpatialUnits defaultSpatialUnits=SpatialUnitsPixels)
void setDither(bool newDither)
@ CoordinateSystemCartesian
static QString spatialUnitsToString(SpatialUnits spatialUnits, const QString &defaultSpatialUnitsString=QString())
static Positioning stringToPositioning(QString const &positioningString, Positioning defaultPositioning=PositioningAbsolute)
void setEndPositionCoordinateSystem(CoordinateSystem newEndPositionCoordinateSystem)
void setEndPositionAngle(qreal newEndPositionAngle)
SpatialUnits endPositionDistanceUnits() const
static constexpr KisGradientPainter::enumGradientRepeat defaultRepeat()
SpatialUnits endPositionYUnits() const
KoAbstractGradientSP gradient(KoAbstractGradientSP fallbackGradient=nullptr) const
qreal startPositionY() const
Positioning endPositionYPositioning() const
static CoordinateSystem stringToCoordinateSystem(QString const &coordinateSystemString, CoordinateSystem defaultCoordinateSystem=CoordinateSystemCartesian)
virtual KisFilterConfigurationSP clone() const override
static constexpr SpatialUnits defaultStartPositionXUnits()
static QString repeatToString(KisGradientPainter::enumGradientRepeat repeat, const QString &defaultRepeatString=QString())
static QString positioningToString(Positioning positioning, const QString &defaultPositioningString=QString())
void setStartPositionXUnits(SpatialUnits newStartPositionXUnits)
void setEndPositionXUnits(SpatialUnits newEndPositionXUnits)
SpatialUnits startPositionYUnits() const
static constexpr qreal defaultEndPositionDistance()
void setEndPositionDistance(qreal newEndPositionDistance)
void setEndPositionDistanceUnits(SpatialUnits newEndPositionDistanceUnits)
qreal endPositionAngle() const
static constexpr SpatialUnits defaultEndPositionXUnits()
KisResourcesInterfaceSP resourcesInterface
@ GradientShapeReverseSpiral
@ GradientShapeConicalSymetric
@ GradientRepeatAlternate
static KoColorSpaceRegistry * instance()