10#include <QDomDocument>
21 std::optional<KisBrushModel::BrushData> data =
37std::optional<KisBrushModel::BrushData>
40 Q_UNUSED(resourcesInterface);
57 QDomElement generatorEl = element.firstChildElement(
"MaskGenerator");
61 generatorEl.hasAttribute(
"radius") ?
71 const QString shape = generatorEl.attribute(
"type",
"circle");
75 const QString type = generatorEl.attribute(
"id",
DefaultId.
id());
81 if (generatorEl.hasAttribute(
"softness_curve")) {
90 e.setAttribute(
"type",
id());
91 e.setAttribute(
"BrushVersion",
"2");
93 e.setAttribute(
"spacing", QString::number(model.
common.
spacing));
96 e.setAttribute(
"angle", QString::number(model.
common.
angle));
101 QDomElement shapeElt = doc.createElement(
"MaskGenerator");
121 shapeElt.setAttribute(
"id", idString);
127 e.appendChild(shapeElt);
133 Q_UNUSED(resourcesInterface);
161 if (curveString.isEmpty()) {
162 curveString =
"0,1;1,0";
207 brush->setSpacing(commonData.
spacing);
void toXML(QDomDocument &doc, QDomElement &element, const KisBrushModel::BrushData &model) override
KoResourceLoadResult createBrush(const QDomElement &brushDefinition, KisResourcesInterfaceSP resourcesInterface) override
std::optional< KisBrushModel::BrushData > createBrushModel(const QDomElement &element, KisResourcesInterfaceSP resourcesInterface) override
A simple wrapper object for the main information about the resource.
const KoID SoftId("soft", ki18n("Soft"))
generate brush mask from former softbrush paintop, where softness is based on curve
const KoID DefaultId("default", ki18n("Default"))
generate Krita default mask generator
const KoID GaussId("gauss", ki18n("Gaussian"))
generate brush mask with a Gaussian-blurred edge
QSharedPointer< KisBrush > KisBrushSP
double toDouble(const QString &str, bool *ok=nullptr)
int toInt(const QString &str, bool *ok=nullptr)
AutoBrushGeneratorData generator
AutoBrushGeneratorType type
AutoBrushGeneratorShape shape