48 elt.setAttribute(
"name", layer->
name());
49 elt.setAttribute(
"opacity", QString().setNum(layer->
opacity() / 255.0));
50 elt.setAttribute(
"visibility", layer->
visible() ?
"visible" :
"hidden");
52 if (layer->inherits(
"KisGroupLayer")) {
57 elt.setAttribute(
"x", QString().setNum(0));
58 elt.setAttribute(
"y", QString().setNum(0));
61 elt.setAttribute(
"x", QString().setNum(layer->
exactBounds().x()));
62 elt.setAttribute(
"y", QString().setNum(layer->
exactBounds().y()));
66 elt.setAttribute(
"edit-locked",
"true");
69 elt.setAttribute(
"selected",
"true");
102 compop =
"svg:src-atop";
104 elt.setAttribute(
"alpha-preserve",
"true");
108 elt.setAttribute(
"composite-op", compop);
125 QDomElement elt =
d->
layerStack.createElement(
"stack");
128 QString isolate =
"isolate";
132 elt.setAttribute(
"isolation", isolate);
135 if (!previousElt.isNull()) {
136 previousElt.insertBefore(elt, QDomNode());
139 QDomElement imageElt =
d->
layerStack.createElement(
"image");
142 int xRes = (int)(qRound(layer->
image()->
xRes() * 72));
143 int yRes = (int)(qRound(layer->
image()->
yRes() * 72));
145 imageElt.setAttribute(
"version",
"0.0.1");
146 imageElt.setAttribute(
"w", width);
147 imageElt.setAttribute(
"h", height);
148 imageElt.setAttribute(
"xres", xRes);
149 imageElt.setAttribute(
"yres", yRes);
150 imageElt.appendChild(elt);
161 QDomElement elt =
d->
layerStack.createElement(
"filter");
163 elt.setAttribute(
"type",
"applications:krita:" + layer->
filter()->name());
187 if (adjustedBounds.isEmpty()) {
190 adjustedBounds.adjust(0, 0, 1, 1);
195 QDomElement elt =
d->
layerStack.createElement(
"layer");
197 elt.setAttribute(
"src", filename);
const QString COMPOSITE_OVER
const QString COMPOSITE_DARKEN
const QString COMPOSITE_OVERLAY
const QString COMPOSITE_DODGE
const QString COMPOSITE_SOFT_LIGHT_SVG
const QString COMPOSITE_ADD
const QString COMPOSITE_LIGHTEN
const QString COMPOSITE_MULT
const QString COMPOSITE_SATURATION
const QString COMPOSITE_DESTINATION_ATOP
const QString COMPOSITE_CLEAR
const QString COMPOSITE_HARD_LIGHT
const QString COMPOSITE_SCREEN
const QString COMPOSITE_DIFF
const QString COMPOSITE_ERASE
const QString COMPOSITE_HUE
const QString COMPOSITE_BURN
const QString COMPOSITE_COLOR
const QString COMPOSITE_DESTINATION_IN
const QString COMPOSITE_LUMINIZE
virtual KisFilterConfigurationSP filter() const
bool visitAll(KisNode *node, bool breakOnFail=false)
void saveStack(const QDomDocument &doc)
QString saveDeviceData(KisPaintDeviceSP dev, KisMetaData::Store *metaData, const QRect &imageRect, qreal xRes, qreal yRes)
~KisOpenRasterStackSaveVisitor() override
bool visit(KisPaintLayer *layer) override
KisOpenRasterStackSaveVisitor(KisOpenRasterSaveContext *, vKisNodeSP activeNodes)
void saveLayerInfo(QDomElement &elt, KisLayer *layer)
bool saveLayer(KisLayer *layer)
const QString & compositeOpId() const
virtual bool isFakeNode() const
virtual bool visible(bool recursive=false) const
KisPaintDeviceSP projection() const override
KisMetaData::Store * metaData()
QRect exactBounds() const override
bool alphaChannelDisabled() const
KisOpenRasterSaveContext * saveContext
QDomElement currentElement