|
Struts example source code file (svg.js)
The Struts svg.js source code/* Copyright (c) 2004-2006, The Dojo Foundation All Rights Reserved. Licensed under the Academic Free License version 2.1 or above OR the modified BSD license. For more information on Dojo licensing, see: http://dojotoolkit.org/community/licensing.shtml */ dojo.provide("dojo.svg"); dojo.require("dojo.lang.common"); dojo.require("dojo.dom"); dojo.mixin(dojo.svg, dojo.dom); dojo.svg.graphics = dojo.svg.g = new function (d) { this.suspend = function () { try { d.documentElement.suspendRedraw(0); } catch (e) { } }; this.resume = function () { try { d.documentElement.unsuspendRedraw(0); } catch (e) { } }; this.force = function () { try { d.documentElement.forceRedraw(); } catch (e) { } }; }(document); dojo.svg.animations = dojo.svg.anim = new function (d) { this.arePaused = function () { try { return d.documentElement.animationsPaused(); } catch (e) { return false; } }; this.pause = function () { try { d.documentElement.pauseAnimations(); } catch (e) { } }; this.resume = function () { try { d.documentElement.unpauseAnimations(); } catch (e) { } }; }(document); dojo.svg.toCamelCase = function (selector) { var arr = selector.split("-"), cc = arr[0]; for (var i = 1; i < arr.length; i++) { cc += arr[i].charAt(0).toUpperCase() + arr[i].substring(1); } return cc; }; dojo.svg.toSelectorCase = function (selector) { return selector.replace(/([A-Z])/g, "-$1").toLowerCase(); }; dojo.svg.getStyle = function (node, cssSelector) { return document.defaultView.getComputedStyle(node, cssSelector); }; dojo.svg.getNumericStyle = function (node, cssSelector) { return parseFloat(dojo.svg.getStyle(node, cssSelector)); }; dojo.svg.getOpacity = function (node) { return Math.min(1, dojo.svg.getNumericStyle(node, "fill-opacity")); }; dojo.svg.setOpacity = function (node, opacity) { node.setAttributeNS(this.xmlns.svg, "fill-opacity", opacity); node.setAttributeNS(this.xmlns.svg, "stroke-opacity", opacity); }; dojo.svg.clearOpacity = function (node) { node.setAttributeNS(this.xmlns.svg, "fill-opacity", "1.0"); node.setAttributeNS(this.xmlns.svg, "stroke-opacity", "1.0"); }; dojo.svg.getCoords = function (node) { if (node.getBBox) { var box = node.getBBox(); return {x:box.x, y:box.y}; } return null; }; dojo.svg.setCoords = function (node, coords) { var p = dojo.svg.getCoords(); if (!p) { return; } var dx = p.x - coords.x; var dy = p.y - coords.y; dojo.svg.translate(node, dx, dy); }; dojo.svg.getDimensions = function (node) { if (node.getBBox) { var box = node.getBBox(); return {width:box.width, height:box.height}; } return null; }; dojo.svg.setDimensions = function (node, dim) { if (node.width) { node.width.baseVal.value = dim.width; node.height.baseVal.value = dim.height; } else { if (node.r) { node.r.baseVal.value = Math.min(dim.width, dim.height) / 2; } else { if (node.rx) { node.rx.baseVal.value = dim.width / 2; node.ry.baseVal.value = dim.height / 2; } } } }; dojo.svg.translate = function (node, dx, dy) { if (node.transform && node.ownerSVGElement && node.ownerSVGElement.createSVGTransform) { var t = node.ownerSVGElement.createSVGTransform(); t.setTranslate(dx, dy); node.transform.baseVal.appendItem(t); } }; dojo.svg.scale = function (node, scaleX, scaleY) { if (!scaleY) { var scaleY = scaleX; } if (node.transform && node.ownerSVGElement && node.ownerSVGElement.createSVGTransform) { var t = node.ownerSVGElement.createSVGTransform(); t.setScale(scaleX, scaleY); node.transform.baseVal.appendItem(t); } }; dojo.svg.rotate = function (node, ang, cx, cy) { if (node.transform && node.ownerSVGElement && node.ownerSVGElement.createSVGTransform) { var t = node.ownerSVGElement.createSVGTransform(); if (cx == null) { t.setMatrix(t.matrix.rotate(ang)); } else { t.setRotate(ang, cx, cy); } node.transform.baseVal.appendItem(t); } }; dojo.svg.skew = function (node, ang, axis) { var dir = axis || "x"; if (node.transform && node.ownerSVGElement && node.ownerSVGElement.createSVGTransform) { var t = node.ownerSVGElement.createSVGTransform(); if (dir != "x") { t.setSkewY(ang); } else { t.setSkewX(ang); } node.transform.baseVal.appendItem(t); } }; dojo.svg.flip = function (node, axis) { var dir = axis || "x"; if (node.transform && node.ownerSVGElement && node.ownerSVGElement.createSVGTransform) { var t = node.ownerSVGElement.createSVGTransform(); t.setMatrix((dir != "x") ? t.matrix.flipY() : t.matrix.flipX()); node.transform.baseVal.appendItem(t); } }; dojo.svg.invert = function (node) { if (node.transform && node.ownerSVGElement && node.ownerSVGElement.createSVGTransform) { var t = node.ownerSVGElement.createSVGTransform(); t.setMatrix(t.matrix.inverse()); node.transform.baseVal.appendItem(t); } }; dojo.svg.applyMatrix = function (node, a, b, c, d, e, f) { if (node.transform && node.ownerSVGElement && node.ownerSVGElement.createSVGTransform) { var m; if (b) { var m = node.ownerSVGElement.createSVGMatrix(); m.a = a; m.b = b; m.c = c; m.d = d; m.e = e; m.f = f; } else { m = a; } var t = node.ownerSVGElement.createSVGTransform(); t.setMatrix(m); node.transform.baseVal.appendItem(t); } }; dojo.svg.group = function (nodes) { var p = nodes.item(0).parentNode; var g = document.createElementNS(this.xmlns.svg, "g"); for (var i = 0; i < nodes.length; i++) { g.appendChild(nodes.item(i)); } p.appendChild(g); return g; }; dojo.svg.ungroup = function (g) { var p = g.parentNode; while (g.childNodes.length > 0) { p.appendChild(g.childNodes.item(0)); } p.removeChild(g); }; dojo.svg.getGroup = function (node) { var a = this.getAncestors(node); for (var i = 0; i < a.length; i++) { if (a[i].nodeType == this.ELEMENT_NODE && a[i].nodeName.toLowerCase() == "g") { return a[i]; } } return null; }; dojo.svg.bringToFront = function (node) { var n = this.getGroup(node) || node; n.ownerSVGElement.appendChild(n); }; dojo.svg.sendToBack = function (node) { var n = this.getGroup(node) || node; n.ownerSVGElement.insertBefore(n, n.ownerSVGElement.firstChild); }; dojo.svg.bringForward = function (node) { var n = this.getGroup(node) || node; if (this.getLastChildElement(n.parentNode) != n) { this.insertAfter(n, this.getNextSiblingElement(n), true); } }; dojo.svg.sendBackward = function (node) { var n = this.getGroup(node) || node; if (this.getFirstChildElement(n.parentNode) != n) { this.insertBefore(n, this.getPreviousSiblingElement(n), true); } }; dojo.svg.createNodesFromText = function (txt, wrap) { var docFrag = (new DOMParser()).parseFromString(txt, "text/xml").normalize(); if (wrap) { return [docFrag.firstChild.cloneNode(true)]; } var nodes = []; for (var x = 0; x < docFrag.childNodes.length; x++) { nodes.push(docFrag.childNodes.item(x).cloneNode(true)); } return nodes; }; Other Struts examples (source code examples)Here is a short list of links related to this Struts svg.js source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.