19#ifndef KIS_SAVEXML_VISITOR_H_
20#define KIS_SAVEXML_VISITOR_H_
24#include "kis_adjustment_layer.h"
25#include "kis_exif_info.h"
26#include "kis_group_layer.h"
29#include "kis_layer_visitor.h"
30#include "kis_paint_layer.h"
33class KisSaveXmlVisitor :
public KisLayerVisitor {
35 KisSaveXmlVisitor(TQDomDocument doc, TQDomElement element, TQ_UINT32 &count,
bool root=
false) :
47 TQDomElement layerElement = m_doc.createElement(
"layer");
49 layerElement.setAttribute(
"name", layer->name());
50 layerElement.setAttribute(
"x", layer->x());
51 layerElement.setAttribute(
"y", layer->y());
52 layerElement.setAttribute(
"opacity", layer->opacity());
53 layerElement.setAttribute(
"compositeop", layer->compositeOp().id().id());
54 layerElement.setAttribute(
"visible", layer->visible());
55 layerElement.setAttribute(
"locked", layer->locked());
56 layerElement.setAttribute(
"layertype",
"paintlayer");
57 layerElement.setAttribute(
"filename", TQString(
"layer%1").arg(m_count));
58 layerElement.setAttribute(
"colorspacename", layer->paintDevice()->colorSpace()->id().id());
59 layerElement.setAttribute(
"hasmask", layer->
hasMask());
60 m_elem.appendChild(layerElement);
62 if(layer->paintDevice()->hasExifInfo())
64 TQDomElement exifElmt = layer->paintDevice()->exifInfo()->save(m_doc);
65 layerElement.appendChild(exifElmt);
73 TQDomElement layerElement;
76 layerElement = m_elem;
79 layerElement = m_doc.createElement(
"layer");
81 layerElement.setAttribute(
"name", layer->name());
82 layerElement.setAttribute(
"x", layer->x());
83 layerElement.setAttribute(
"y", layer->y());
84 layerElement.setAttribute(
"opacity", layer->opacity());
85 layerElement.setAttribute(
"compositeop", layer->compositeOp().id().id());
86 layerElement.setAttribute(
"visible", layer->visible());
87 layerElement.setAttribute(
"locked", layer->locked());
88 layerElement.setAttribute(
"layertype",
"grouplayer");
90 m_elem.appendChild(layerElement);
93 TQDomElement elem = m_doc.createElement(
"LAYERS");
95 layerElement.appendChild(elem);
97 KisSaveXmlVisitor visitor(m_doc, elem, m_count);
103 child->accept(visitor);
104 child = child->nextSibling();
111 bool ok = layer->saveToXML(m_doc, m_elem);
117 TQDomElement layerElement = m_doc.createElement(
"layer");
119 layerElement.setAttribute(
"name", layer->name());
120 layerElement.setAttribute(
"filtername", layer->filter()->
name());
121 layerElement.setAttribute(
"filterversion", layer->filter()->
version());
122 layerElement.setAttribute(
"opacity", layer->opacity());
123 layerElement.setAttribute(
"compositeop", layer->compositeOp().id().id());
124 layerElement.setAttribute(
"visible", layer->visible());
125 layerElement.setAttribute(
"locked", layer->locked());
126 layerElement.setAttribute(
"layertype",
"adjustmentlayer");
127 layerElement.setAttribute(
"filename", TQString(
"layer%1").arg(m_count));
128 layerElement.setAttribute(
"x", layer->x());
129 layerElement.setAttribute(
"y", layer->y());
130 m_elem.appendChild(layerElement);
Class that contains a KisFilter and optionally a KisSelection.
const TQString & name() const
Get the unique, language independent name of the filter.
TQ_INT32 version() const
Get the version of the filter that has created this config.
A KisLayer that bundles child layers into a single layer.
virtual KisLayerSP firstChild() const
Returns the first child layer of this layer (if it supports that).
This layer is of a type that can be painted on.
bool hasMask() const
Does this layer have a layer mask?
An interface for the Part Layer so that we can use it in core/, but can implement it in ui/.