diff options
author | mensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2008-11-14 15:39:19 +0000 |
---|---|---|
committer | mensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2008-11-14 15:39:19 +0000 |
commit | 1c5685d68f1b73270fb814fe04cbb490eb90ba5f (patch) | |
tree | 3d3ada08a934b96fc31531f1327690d7edc6f766 /includes/js/dojox/gfx/svg_attach.js | |
parent | 104d59099e048688c4dbac37d72137006e396558 (diff) | |
download | semanticscuttle-1c5685d68f1b73270fb814fe04cbb490eb90ba5f.tar.gz semanticscuttle-1c5685d68f1b73270fb814fe04cbb490eb90ba5f.tar.bz2 |
Minor fix: Remove DOJO library (60Mo) replaced by link to Google CDN (online DOJO library)
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@159 b3834d28-1941-0410-a4f8-b48e95affb8f
Diffstat (limited to 'includes/js/dojox/gfx/svg_attach.js')
-rw-r--r-- | includes/js/dojox/gfx/svg_attach.js | 224 |
1 files changed, 0 insertions, 224 deletions
diff --git a/includes/js/dojox/gfx/svg_attach.js b/includes/js/dojox/gfx/svg_attach.js deleted file mode 100644 index 7ec9ed8..0000000 --- a/includes/js/dojox/gfx/svg_attach.js +++ /dev/null @@ -1,224 +0,0 @@ -dojo.require("dojox.gfx.svg"); - -dojo.experimental("dojox.gfx.svg_attach"); - -(function(){ - dojox.gfx.attachNode = function(node){ - // summary: creates a shape from a Node - // node: Node: an SVG node - if(!node) return null; - var s = null; - switch(node.tagName.toLowerCase()){ - case dojox.gfx.Rect.nodeType: - s = new dojox.gfx.Rect(node); - attachRect(s); - break; - case dojox.gfx.Ellipse.nodeType: - s = new dojox.gfx.Ellipse(node); - attachShape(s, dojox.gfx.defaultEllipse); - break; - case dojox.gfx.Polyline.nodeType: - s = new dojox.gfx.Polyline(node); - attachShape(s, dojox.gfx.defaultPolyline); - break; - case dojox.gfx.Path.nodeType: - s = new dojox.gfx.Path(node); - attachShape(s, dojox.gfx.defaultPath); - break; - case dojox.gfx.Circle.nodeType: - s = new dojox.gfx.Circle(node); - attachShape(s, dojox.gfx.defaultCircle); - break; - case dojox.gfx.Line.nodeType: - s = new dojox.gfx.Line(node); - attachShape(s, dojox.gfx.defaultLine); - break; - case dojox.gfx.Image.nodeType: - s = new dojox.gfx.Image(node); - attachShape(s, dojox.gfx.defaultImage); - break; - case dojox.gfx.Text.nodeType: - var t = node.getElementsByTagName("textPath"); - if(t && t.length){ - s = new dojox.gfx.TextPath(node); - attachShape(s, dojox.gfx.defaultPath); - attachTextPath(s); - }else{ - s = new dojox.gfx.Text(node); - attachText(s); - } - attachFont(s); - break; - default: - //console.debug("FATAL ERROR! tagName = " + node.tagName); - return null; - } - if(!(s instanceof dojox.gfx.Image)){ - attachFill(s); - attachStroke(s); - } - attachTransform(s); - return s; // dojox.gfx.Shape - }; - - dojox.gfx.attachSurface = function(node){ - // summary: creates a surface from a Node - // node: Node: an SVG node - var s = new dojox.gfx.Surface(); - s.rawNode = node; - var def_elems = node.getElementsByTagName("defs"); - if(def_elems.length == 0){ - return null; // dojox.gfx.Surface - } - s.defNode = def_elems[0]; - return s; // dojox.gfx.Surface - }; - - var attachFill = function(object){ - // summary: deduces a fill style from a node. - // object: dojox.gfx.Shape: an SVG shape - var fill = object.rawNode.getAttribute("fill"); - if(fill == "none"){ - object.fillStyle = null; - return; - } - var fillStyle = null, gradient = dojox.gfx.svg.getRef(fill); - if(ref){ - switch(gradient.tagName.toLowerCase()){ - case "lineargradient": - fillStyle = _getGradient(dojox.gfx.defaultLinearGradient, gradient); - dojo.forEach(["x1", "y1", "x2", "y2"], function(x){ - fillStyle[x] = gradient.getAttribute(x); - }); - break; - case "radialgradient": - fillStyle = _getGradient(dojox.gfx.defaultRadialGradient, gradient); - dojo.forEach(["cx", "cy", "r"], function(x){ - fillStyle[x] = gradient.getAttribute(x); - }); - fillStyle.cx = gradient.getAttribute("cx"); - fillStyle.cy = gradient.getAttribute("cy"); - fillStyle.r = gradient.getAttribute("r"); - break; - case "pattern": - fillStyle = dojo.lang.shallowCopy(dojox.gfx.defaultPattern, true); - dojo.forEach(["x", "y", "width", "height"], function(x){ - fillStyle[x] = gradient.getAttribute(x); - }); - fillStyle.src = gradient.firstChild.getAttributeNS(dojox.gfx.svg.xmlns.xlink, "href"); - break; - } - }else{ - fillStyle = new dojo.Color(fill); - var opacity = rawNode.getAttribute("fill-opacity"); - if(opacity != null){ fillStyle.a = opacity; } - } - object.fillStyle = fillStyle; - }; - - var _getGradient = function(defaultGradient, gradient){ - var fillStyle = dojo.clone(defaultGradient); - fillStyle.colors = []; - for(var i = 0; i < gradient.childNodes.length; ++i){ - fillStyle.colors.push({ - offset: gradient.childNodes[i].getAttribute("offset"), - color: new dojo.Color(gradient.childNodes[i].getAttribute("stop-color")) - }); - } - return fillStyle; - }; - - var attachStroke = function(object){ - // summary: deduces a stroke style from a node. - // object: dojox.gfx.Shape: an SVG shape - var rawNode = object.rawNode, stroke = rawNode.getAttribute("stroke"); - if(stroke == null || stroke == "none"){ - object.strokeStyle = null; - return; - } - var strokeStyle = object.strokeStyle = dojo.clone(dojox.gfx.defaultStroke); - var color = new dojo.Color(stroke); - if(color){ - strokeStyle.color = color; - strokeStyle.color.a = rawNode.getAttribute("stroke-opacity"); - strokeStyle.width = rawNode.getAttribute("stroke-width"); - strokeStyle.cap = rawNode.getAttribute("stroke-linecap"); - strokeStyle.join = rawNode.getAttribute("stroke-linejoin"); - if(strokeStyle.join == "miter"){ - strokeStyle.join = rawNode.getAttribute("stroke-miterlimit"); - } - strokeStyle.style = rawNode.getAttribute("dojoGfxStrokeStyle"); - } - }; - - var attachTransform = function(object){ - // summary: deduces a transformation matrix from a node. - // object: dojox.gfx.Shape: an SVG shape - var matrix = object.rawNode.getAttribute("transform"); - if(matrix.match(/^matrix\(.+\)$/)){ - var t = matrix.slice(7, -1).split(","); - object.matrix = dojox.gfx.matrix.normalize({ - xx: parseFloat(t[0]), xy: parseFloat(t[2]), - yx: parseFloat(t[1]), yy: parseFloat(t[3]), - dx: parseFloat(t[4]), dy: parseFloat(t[5]) - }); - }else{ - object.matrix = null; - } - }; - - var attachFont = function(object){ - // summary: deduces a font style from a Node. - // object: dojox.gfx.Shape: an SVG shape - var fontStyle = object.fontStyle = dojo.clone(dojox.gfx.defaultFont), - r = object.rawNode; - fontStyle.style = r.getAttribute("font-style"); - fontStyle.variant = r.getAttribute("font-variant"); - fontStyle.weight = r.getAttribute("font-weight"); - fontStyle.size = r.getAttribute("font-size"); - fontStyle.family = r.getAttribute("font-family"); - }; - - var attachShape = function(object, def){ - // summary: builds a shape from a node. - // object: dojox.gfx.Shape: an SVG shape - // def: Object: a default shape template - var shape = object.shape = dojo.clone(def), r = object.rawNode; - for(var i in shape) { - shape[i] = r.getAttribute(i); - } - }; - - var attachRect = function(object){ - // summary: builds a rectangle shape from a node. - // object: dojox.gfx.Shape: an SVG shape - attachShape(object, dojox.gfx.defaultRect); - object.shape.r = Math.min(object.rawNode.getAttribute("rx"), object.rawNode.getAttribute("ry")); - }; - - var attachText = function(object){ - // summary: builds a text shape from a node. - // object: dojox.gfx.Shape: an SVG shape - var shape = object.shape = dojo.clone(dojox.gfx.defaultText), - r = object.rawNode; - shape.x = r.getAttribute("x"); - shape.y = r.getAttribute("y"); - shape.align = r.getAttribute("text-anchor"); - shape.decoration = r.getAttribute("text-decoration"); - shape.rotated = parseFloat(r.getAttribute("rotate")) != 0; - shape.kerning = r.getAttribute("kerning") == "auto"; - shape.text = r.firstChild.nodeValue; - }; - - var attachTextPath = function(object){ - // summary: builds a textpath shape from a node. - // object: dojox.gfx.Shape: an SVG shape - var shape = object.shape = dojo.clone(dojox.gfx.defaultTextPath), - r = object.rawNode; - shape.align = r.getAttribute("text-anchor"); - shape.decoration = r.getAttribute("text-decoration"); - shape.rotated = parseFloat(r.getAttribute("rotate")) != 0; - shape.kerning = r.getAttribute("kerning") == "auto"; - shape.text = r.firstChild.nodeValue; - }; -})(); |