summaryrefslogtreecommitdiffstats
path: root/src/sp-factory.cpp
diff options
context:
space:
mode:
authorTavmjong Bah <tavmjong@free.fr>2018-01-30 08:33:01 +0000
committerTavmjong Bah <tavmjong@free.fr>2018-01-30 08:33:01 +0000
commit267299811df952d08324a39008f52c19641de9e0 (patch)
tree28fef736a52cb7a72119d119be8eb663ad20a77f /src/sp-factory.cpp
parentTranslations: update inkscape.pot (diff)
downloadinkscape-267299811df952d08324a39008f52c19641de9e0.tar.gz
inkscape-267299811df952d08324a39008f52c19641de9e0.zip
Move classes derived from SPObject to own directory.
A lot of header clean-up.
Diffstat (limited to 'src/sp-factory.cpp')
-rw-r--r--src/sp-factory.cpp362
1 files changed, 0 insertions, 362 deletions
diff --git a/src/sp-factory.cpp b/src/sp-factory.cpp
deleted file mode 100644
index 9d46c9a84..000000000
--- a/src/sp-factory.cpp
+++ /dev/null
@@ -1,362 +0,0 @@
-/*
- * Factory for SPObject tree
- *
- * Authors:
- * Markus Engel
- *
- * Copyright (C) 2013 Authors
- * Released under GNU GPL, read the file 'COPYING' for more information
- */
-
-#include "sp-factory.h"
-
-// primary
-#include "box3d.h"
-#include "box3d-side.h"
-#include "color-profile.h"
-#include "persp3d.h"
-#include "sp-anchor.h"
-#include "sp-clippath.h"
-#include "sp-defs.h"
-#include "sp-desc.h"
-#include "sp-ellipse.h"
-#include "sp-filter.h"
-#include "sp-flowdiv.h"
-#include "sp-flowregion.h"
-#include "sp-flowtext.h"
-#include "sp-font.h"
-#include "sp-font-face.h"
-#include "sp-glyph.h"
-#include "sp-glyph-kerning.h"
-#include "sp-guide.h"
-#include "sp-hatch.h"
-#include "sp-hatch-path.h"
-#include "sp-image.h"
-#include "sp-line.h"
-#include "sp-linear-gradient.h"
-#include "sp-marker.h"
-#include "sp-mask.h"
-#include "sp-mesh-gradient.h"
-#include "sp-mesh-patch.h"
-#include "sp-mesh-row.h"
-#include "sp-metadata.h"
-#include "sp-missing-glyph.h"
-#include "sp-namedview.h"
-#include "sp-offset.h"
-#include "sp-pattern.h"
-#include "sp-polyline.h"
-#include "sp-radial-gradient.h"
-#include "sp-rect.h"
-#include "sp-root.h"
-#include "sp-script.h"
-#include "sp-solid-color.h"
-#include "sp-spiral.h"
-#include "sp-star.h"
-#include "sp-stop.h"
-#include "sp-string.h"
-#include "sp-style-elem.h"
-#include "sp-switch.h"
-#include "sp-symbol.h"
-#include "sp-tag.h"
-#include "sp-tag-use.h"
-#include "sp-text.h"
-#include "sp-textpath.h"
-#include "sp-title.h"
-#include "sp-tref.h"
-#include "sp-tspan.h"
-#include "live_effects/lpeobject.h"
-
-// filters
-#include "filters/blend.h"
-#include "filters/colormatrix.h"
-#include "filters/componenttransfer.h"
-#include "filters/componenttransfer-funcnode.h"
-#include "filters/composite.h"
-#include "filters/convolvematrix.h"
-#include "filters/diffuselighting.h"
-#include "filters/displacementmap.h"
-#include "filters/distantlight.h"
-#include "filters/flood.h"
-#include "filters/gaussian-blur.h"
-#include "filters/image.h"
-#include "filters/merge.h"
-#include "filters/mergenode.h"
-#include "filters/morphology.h"
-#include "filters/offset.h"
-#include "filters/pointlight.h"
-#include "filters/specularlighting.h"
-#include "filters/spotlight.h"
-#include "filters/tile.h"
-#include "filters/turbulence.h"
-
-SPObject *SPFactory::createObject(std::string const& id)
-{
- SPObject *ret = NULL;
-
- if (id == "inkscape:box3d")
- ret = new SPBox3D;
- else if (id == "inkscape:box3dside")
- ret = new Box3DSide;
- else if (id == "svg:color-profile")
- ret = new Inkscape::ColorProfile;
- else if (id == "inkscape:persp3d")
- ret = new Persp3D;
- else if (id == "svg:a")
- ret = new SPAnchor;
- else if (id == "svg:clipPath")
- ret = new SPClipPath;
- else if (id == "svg:defs")
- ret = new SPDefs;
- else if (id == "svg:desc")
- ret = new SPDesc;
- else if (id == "svg:ellipse") {
- SPGenericEllipse *e = new SPGenericEllipse;
- e->type = SP_GENERIC_ELLIPSE_ELLIPSE;
- ret = e;
- } else if (id == "svg:circle") {
- SPGenericEllipse *c = new SPGenericEllipse;
- c->type = SP_GENERIC_ELLIPSE_CIRCLE;
- ret = c;
- } else if (id == "arc") {
- SPGenericEllipse *a = new SPGenericEllipse;
- a->type = SP_GENERIC_ELLIPSE_ARC;
- ret = a;
- }
- else if (id == "svg:filter")
- ret = new SPFilter;
- else if (id == "svg:flowDiv")
- ret = new SPFlowdiv;
- else if (id == "svg:flowSpan")
- ret = new SPFlowtspan;
- else if (id == "svg:flowPara")
- ret = new SPFlowpara;
- else if (id == "svg:flowLine")
- ret = new SPFlowline;
- else if (id == "svg:flowRegionBreak")
- ret = new SPFlowregionbreak;
- else if (id == "svg:flowRegion")
- ret = new SPFlowregion;
- else if (id == "svg:flowRegionExclude")
- ret = new SPFlowregionExclude;
- else if (id == "svg:flowRoot")
- ret = new SPFlowtext;
- else if (id == "svg:font")
- ret = new SPFont;
- else if (id == "svg:font-face")
- ret = new SPFontFace;
- else if (id == "svg:glyph")
- ret = new SPGlyph;
- else if (id == "svg:hkern")
- ret = new SPHkern;
- else if (id == "svg:vkern")
- ret = new SPVkern;
- else if (id == "sodipodi:guide")
- ret = new SPGuide;
- else if (id == "svg:hatch")
- ret = new SPHatch;
- else if (id == "svg:hatchpath")
- ret = new SPHatchPath;
- else if (id == "svg:hatchPath") {
- std::cerr << "Warning: <hatchPath> has been renamed <hatchpath>" << std::endl;
- ret = new SPHatchPath;
- }
- else if (id == "svg:image")
- ret = new SPImage;
- else if (id == "svg:g")
- ret = new SPGroup;
- else if (id == "svg:line")
- ret = new SPLine;
- else if (id == "svg:linearGradient")
- ret = new SPLinearGradient;
- else if (id == "svg:marker")
- ret = new SPMarker;
- else if (id == "svg:mask")
- ret = new SPMask;
- else if (id == "svg:mesh") { // SVG 2 old
- ret = new SPMeshGradient;
- std::cerr << "Warning: <mesh> has been renamed <meshgradient>." << std::endl;
- std::cerr << "Warning: <mesh> has been repurposed as a shape that tightly wraps a <meshgradient>." << std::endl;
- }
- else if (id == "svg:meshGradient") { // SVG 2 old
- ret = new SPMeshGradient;
- std::cerr << "Warning: <meshGradient> has been renamed <meshgradient>" << std::endl;
- }
- else if (id == "svg:meshgradient") // SVG 2
- ret = new SPMeshGradient;
- else if (id == "svg:meshPatch") {
- ret = new SPMeshpatch;
- std::cerr << "Warning: <meshPatch> and <meshRow> have been renamed <meshpatch> and <meshrow>" << std::endl;
- }
- else if (id == "svg:meshpatch")
- ret = new SPMeshpatch;
- else if (id == "svg:meshRow")
- ret = new SPMeshrow;
- else if (id == "svg:meshrow")
- ret = new SPMeshrow;
- else if (id == "svg:metadata")
- ret = new SPMetadata;
- else if (id == "svg:missing-glyph")
- ret = new SPMissingGlyph;
- else if (id == "sodipodi:namedview")
- ret = new SPNamedView;
- else if (id == "inkscape:offset")
- ret = new SPOffset;
- else if (id == "svg:path")
- ret = new SPPath;
- else if (id == "svg:pattern")
- ret = new SPPattern;
- else if (id == "svg:polygon")
- ret = new SPPolygon;
- else if (id == "svg:polyline")
- ret = new SPPolyLine;
- else if (id == "svg:radialGradient")
- ret = new SPRadialGradient;
- else if (id == "svg:rect")
- ret = new SPRect;
- else if (id == "svg:svg")
- ret = new SPRoot;
- else if (id == "svg:script")
- ret = new SPScript;
- else if (id == "svg:solidColor") {
- ret = new SPSolidColor;
- std::cerr << "Warning: <solidColor> has been renamed <solidcolor>" << std::endl;
- }
- else if (id == "svg:solidcolor")
- ret = new SPSolidColor;
- else if (id == "spiral")
- ret = new SPSpiral;
- else if (id == "star")
- ret = new SPStar;
- else if (id == "svg:stop")
- ret = new SPStop;
- else if (id == "string")
- ret = new SPString;
- else if (id == "svg:style")
- ret = new SPStyleElem;
- else if (id == "svg:switch")
- ret = new SPSwitch;
- else if (id == "svg:symbol")
- ret = new SPSymbol;
- else if (id == "inkscape:tag")
- ret = new SPTag;
- else if (id == "inkscape:tagref")
- ret = new SPTagUse;
- else if (id == "svg:text")
- ret = new SPText;
- else if (id == "svg:title")
- ret = new SPTitle;
- else if (id == "svg:tref")
- ret = new SPTRef;
- else if (id == "svg:tspan")
- ret = new SPTSpan;
- else if (id == "svg:textPath")
- ret = new SPTextPath;
- else if (id == "svg:use")
- ret = new SPUse;
- else if (id == "inkscape:path-effect")
- ret = new LivePathEffectObject;
-
-
- // filters
- else if (id == "svg:feBlend")
- ret = new SPFeBlend;
- else if (id == "svg:feColorMatrix")
- ret = new SPFeColorMatrix;
- else if (id == "svg:feComponentTransfer")
- ret = new SPFeComponentTransfer;
- else if (id == "svg:feFuncR")
- ret = new SPFeFuncNode(SPFeFuncNode::R);
- else if (id == "svg:feFuncG")
- ret = new SPFeFuncNode(SPFeFuncNode::G);
- else if (id == "svg:feFuncB")
- ret = new SPFeFuncNode(SPFeFuncNode::B);
- else if (id == "svg:feFuncA")
- ret = new SPFeFuncNode(SPFeFuncNode::A);
- else if (id == "svg:feComposite")
- ret = new SPFeComposite;
- else if (id == "svg:feConvolveMatrix")
- ret = new SPFeConvolveMatrix;
- else if (id == "svg:feDiffuseLighting")
- ret = new SPFeDiffuseLighting;
- else if (id == "svg:feDisplacementMap")
- ret = new SPFeDisplacementMap;
- else if (id == "svg:feDistantLight")
- ret = new SPFeDistantLight;
- else if (id == "svg:feFlood")
- ret = new SPFeFlood;
- else if (id == "svg:feGaussianBlur")
- ret = new SPGaussianBlur;
- else if (id == "svg:feImage")
- ret = new SPFeImage;
- else if (id == "svg:feMerge")
- ret = new SPFeMerge;
- else if (id == "svg:feMergeNode")
- ret = new SPFeMergeNode;
- else if (id == "svg:feMorphology")
- ret = new SPFeMorphology;
- else if (id == "svg:feOffset")
- ret = new SPFeOffset;
- else if (id == "svg:fePointLight")
- ret = new SPFePointLight;
- else if (id == "svg:feSpecularLighting")
- ret = new SPFeSpecularLighting;
- else if (id == "svg:feSpotLight")
- ret = new SPFeSpotLight;
- else if (id == "svg:feTile")
- ret = new SPFeTile;
- else if (id == "svg:feTurbulence")
- ret = new SPFeTurbulence;
- else if (id == "inkscape:grid")
- ret = new SPObject; // TODO wtf
- else if (id == "rdf:RDF") // no SP node yet
- {}
- else if (id == "inkscape:clipboard") // SP node not necessary
- {}
- else if (id == "inkscape:_templateinfo") // ?
- {}
- else if (id.empty()) // comments
- {}
- else {
- fprintf(stderr, "WARNING: unknown type: %s\n", id.c_str());
- }
-
- return ret;
-}
-
-std::string NodeTraits::get_type_string(Inkscape::XML::Node const &node)
-{
- std::string name;
-
- switch (node.type()) {
- case Inkscape::XML::TEXT_NODE:
- name = "string";
- break;
-
- case Inkscape::XML::ELEMENT_NODE: {
- char const *const sptype = node.attribute("sodipodi:type");
-
- if (sptype) {
- name = sptype;
- } else {
- name = node.name();
- }
- break;
- }
- default:
- name = "";
- break;
- }
-
- return name;
-}
-
-/*
- Local Variables:
- mode:c++
- c-file-style:"stroustrup"
- c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
- indent-tabs-mode:nil
- fill-column:99
- End:
-*/
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :