diff options
| author | Jabier Arraiza Cenoz <jabier.arraiza@marker.es> | 2013-09-19 22:33:11 +0000 |
|---|---|---|
| committer | Jabiertxof <jtx@jtx.marker.es> | 2013-09-19 22:33:11 +0000 |
| commit | 4bda89e32e33c7bdff5d3ea3c1ceee1f806de9f7 (patch) | |
| tree | caeb924426bcc861badc6fa81318b67460b26d47 /src/sp-mesh-patch.cpp | |
| parent | Update to trunk (diff) | |
| parent | updates for cmake (diff) | |
| download | inkscape-4bda89e32e33c7bdff5d3ea3c1ceee1f806de9f7.tar.gz inkscape-4bda89e32e33c7bdff5d3ea3c1ceee1f806de9f7.zip | |
Update to trunk
(bzr r11950.1.141)
Diffstat (limited to 'src/sp-mesh-patch.cpp')
| -rw-r--r-- | src/sp-mesh-patch.cpp | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/src/sp-mesh-patch.cpp b/src/sp-mesh-patch.cpp index ff1a18a01..216de8270 100644 --- a/src/sp-mesh-patch.cpp +++ b/src/sp-mesh-patch.cpp @@ -17,6 +17,19 @@ #include "sp-mesh-patch.h" #include "style.h" +#include "attributes.h" +#include "xml/repr.h" + +#include "sp-factory.h" + +namespace { + SPObject* createMeshPatch() { + return new SPMeshPatch(); + } + + bool meshPatchRegistered = SPFactory::instance().registerObject("svg:meshPatch", createMeshPatch); +} + SPMeshPatch* SPMeshPatch::getNextMeshPatch() { SPMeshPatch *result = 0; @@ -51,6 +64,61 @@ SPMeshPatch* SPMeshPatch::getPrevMeshPatch() return result; } + +/* + * Mesh Patch + */ + +SPMeshPatch::SPMeshPatch() : SPObject() { + this->tensor_string = NULL; +} + +SPMeshPatch::~SPMeshPatch() { +} + +void SPMeshPatch::build(SPDocument* doc, Inkscape::XML::Node* repr) { + SPObject::build(doc, repr); + + this->readAttr( "tensor" ); +} + +/** + * Virtual build: set meshpatch attributes from its associated XML node. + */ + +void SPMeshPatch::set(unsigned int key, const gchar* value) { + switch (key) { + case SP_ATTR_TENSOR: { + if (value) { + this->tensor_string = new Glib::ustring( value ); + // std::cout << "sp_meshpatch_set: Tensor string: " << patch->tensor_string->c_str() << std::endl; + } + break; + } + default: { + // Do nothing + } + } +} + +/** + * Virtual set: set attribute to value. + */ + +Inkscape::XML::Node* SPMeshPatch::write(Inkscape::XML::Document* xml_doc, Inkscape::XML::Node* repr, guint flags) { + if ((flags & SP_OBJECT_WRITE_BUILD) && !repr) { + repr = xml_doc->createElement("svg:meshPatch"); + } + + SPObject::write(xml_doc, repr, flags); + + return repr; +} + +/** + * Virtual write: write object attributes to repr. + */ + /* Local Variables: mode:c++ |
