tapestry-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jkuhn...@apache.org
Subject svn commit: r498423 [11/30] - in /tapestry/tapestry4/trunk: .settings/ eclipse/ tapestry-examples/TimeTracker/src/context/WEB-INF/ tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/dao/ tapestry-examples/TimeTracker/src/java/org/ap...
Date Sun, 21 Jan 2007 18:26:26 GMT
Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/common.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/common.js?view=auto&rev=498423
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/common.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/common.js Sun Jan 21 10:25:59 2007
@@ -0,0 +1,12 @@
+
+dojo.provide("dojo.gfx.common");dojo.require("dojo.gfx.color");dojo.require("dojo.lang.declare");dojo.require("dojo.lang.extras");dojo.require("dojo.dom");dojo.lang.mixin(dojo.gfx, {defaultPath:     {type: "path",     path: ""},defaultPolyline: {type: "polyline", points: []},defaultRect:     {type: "rect",     x: 0, y: 0, width: 100, height: 100, r: 0},defaultEllipse:  {type: "ellipse",  cx: 0, cy: 0, rx: 200, ry: 100},defaultCircle:   {type: "circle",   cx: 0, cy: 0, r: 100},defaultLine:     {type: "line",     x1: 0, y1: 0, x2: 100, y2: 100},defaultImage:    {type: "image",    x: 0, y: 0, width: 0, height: 0, src: ""},defaultText:     {type: "text",     x: 0, y: 0, text: "",align: "left", decoration: "none", rotated: false, kerning: true },defaultTextPath: {type: "textpath", text: "",align: "left", decoration: "none", rotated: false, kerning: true },defaultStroke: {color: "black", width: 1, cap: "butt", join: 4},defaultLinearGradient: {type: "linear", x1: 0, y1: 0, x2: 100,
  y2: 100,colors: [{offset: 0, color: "black"}, {offset: 1, color: "white"}]},defaultRadialGradient: {type: "radial", cx: 0, cy: 0, r: 100,colors: [{offset: 0, color: "black"}, {offset: 1, color: "white"}]},defaultPattern: {type: "pattern", x: 0, y: 0, width: 0, height: 0, src: ""},defaultFont: {type: "font", style: "normal", variant: "normal", weight: "normal",size: "10pt", family: "serif"},normalizeColor: function( color){return (color instanceof dojo.gfx.color.Color) ? color : new dojo.gfx.color.Color(color);},normalizeParameters: function(existed, update){if(update){var empty = {};for(var x in existed){if(x in update && !(x in empty)){existed[x] = update[x];}}
+}
+return existed;},makeParameters: function(defaults, update){if(!update) return dojo.lang.shallowCopy(defaults, true);var result = {};for(var i in defaults){if(!(i in result)){result[i] = dojo.lang.shallowCopy((i in update) ? update[i] : defaults[i], true);}}
+return result;},formatNumber: function(x, addSpace){var val = x.toString();if(val.indexOf("e") >= 0){val = x.toFixed(4);}else{var point = val.indexOf(".");if(point >= 0 && val.length - point > 5){val = x.toFixed(4);}}
+if(x < 0){return val;}
+return addSpace ? " " + val : val;},makeFontString: function(font){return font.style + " " + font.variant + " " + font.weight + " " + font.size + " " + font.family;},splitFontString: function(str){var font = dojo.lang.shallowCopy(dojo.gfx.defaultFont);var t = str.split(/\s+/);do{if(t.length < 5){ break; }
+font.style  = t[0];font.varian = t[1];font.weight = t[2];var i = t[3].indexOf("/");font.size = i < 0 ? t[3] : t[3].substring(0, i);var j = 4;if(i < 0){if(t[4] == "/"){j = 6;break;}
+if(t[4].substr(0, 1) == "/"){j = 5;break;}}
+if(j + 3 > t.length){ break; }
+font.size = t[j];font.family = t[j + 1];}while(false);return font;},pathRegExp: /([A-Za-z]+)|(\d+(\.\d+)?)|(\.\d+)|(-\d+(\.\d+)?)|(-\.\d+)/g
+});dojo.declare("dojo.gfx.Surface", null,function(){this.rawNode = null;},{getEventSource: function(){return this.rawNode;}});dojo.declare("dojo.gfx.Point", null, {});dojo.declare("dojo.gfx.Rectangle", null, {});
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/common.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/matrix.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/matrix.js?view=auto&rev=498423
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/matrix.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/matrix.js Sun Jan 21 10:25:59 2007
@@ -0,0 +1,21 @@
+
+dojo.provide("dojo.gfx.matrix");dojo.require("dojo.lang.common");dojo.require("dojo.math.*");dojo.gfx.matrix.Matrix2D = function(arg){if(arg){if(arg instanceof Array){if(arg.length > 0){var m = dojo.gfx.matrix.normalize(arg[0]);for(var i = 1; i < arg.length; ++i){var l = m;var r = dojo.gfx.matrix.normalize(arg[i]);m = new dojo.gfx.matrix.Matrix2D();m.xx = l.xx * r.xx + l.xy * r.yx;m.xy = l.xx * r.xy + l.xy * r.yy;m.yx = l.yx * r.xx + l.yy * r.yx;m.yy = l.yx * r.xy + l.yy * r.yy;m.dx = l.xx * r.dx + l.xy * r.dy + l.dx;m.dy = l.yx * r.dx + l.yy * r.dy + l.dy;}
+dojo.mixin(this, m);}}else{dojo.mixin(this, arg);}}
+};dojo.extend(dojo.gfx.matrix.Matrix2D, {xx: 1, xy: 0, yx: 0, yy: 1, dx: 0, dy: 0});dojo.mixin(dojo.gfx.matrix, {identity: new dojo.gfx.matrix.Matrix2D(),flipX:    new dojo.gfx.matrix.Matrix2D({xx: -1}),flipY:    new dojo.gfx.matrix.Matrix2D({yy: -1}),flipXY:   new dojo.gfx.matrix.Matrix2D({xx: -1, yy: -1}),translate: function(a, b){if(arguments.length > 1){return new dojo.gfx.matrix.Matrix2D({dx: a, dy: b});}
+return new dojo.gfx.matrix.Matrix2D({dx: a.x, dy: a.y});},scale: function(a, b){if(arguments.length > 1){return new dojo.gfx.matrix.Matrix2D({xx: a, yy: b});}
+if(typeof a == "number"){return new dojo.gfx.matrix.Matrix2D({xx: a, yy: a});}
+return new dojo.gfx.matrix.Matrix2D({xx: a.x, yy: a.y});},rotate: function(angle){var c = Math.cos(angle);var s = Math.sin(angle);return new dojo.gfx.matrix.Matrix2D({xx: c, xy: s, yx: -s, yy: c});},rotateg: function(degree){return dojo.gfx.matrix.rotate(dojo.math.degToRad(degree));},skewX: function(angle) {return new dojo.gfx.matrix.Matrix2D({xy: Math.tan(angle)});},skewXg: function(degree){return dojo.gfx.matrix.skewX(dojo.math.degToRad(degree));},skewY: function(angle){return new dojo.gfx.matrix.Matrix2D({yx: -Math.tan(angle)});},skewYg: function(degree){return dojo.gfx.matrix.skewY(dojo.math.degToRad(degree));},normalize: function(matrix){return (matrix instanceof dojo.gfx.matrix.Matrix2D) ? matrix : new dojo.gfx.matrix.Matrix2D(matrix);},clone: function(matrix){var obj = new dojo.gfx.matrix.Matrix2D();for(var i in matrix){if(typeof(matrix[i]) == "number" && typeof(obj[i]) == "number" && obj[i] != matrix[i]) obj[i] = matrix[i];}
+return obj;},invert: function(matrix){var m = dojo.gfx.matrix.normalize(matrix);var D = m.xx * m.yy - m.xy * m.yx;var M = new dojo.gfx.matrix.Matrix2D({xx: m.yy/D, xy: -m.xy/D,yx: -m.yx/D, yy: m.xx/D,dx: (m.yx * m.dy - m.yy * m.dx) / D,dy: (m.xy * m.dx - m.xx * m.dy) / D
+});return M;},_multiplyPoint: function(m, x, y){return {x: m.xx * x + m.xy * y + m.dx, y: m.yx * x + m.yy * y + m.dy};},multiplyPoint: function(matrix,  a,  b){var m = dojo.gfx.matrix.normalize(matrix);if(typeof a == "number" && typeof b == "number"){return dojo.gfx.matrix._multiplyPoint(m, a, b);}
+return dojo.gfx.matrix._multiplyPoint(m, a.x, a.y);},multiply: function(matrix){var m = dojo.gfx.matrix.normalize(matrix);for(var i = 1; i < arguments.length; ++i){var l = m;var r = dojo.gfx.matrix.normalize(arguments[i]);m = new dojo.gfx.matrix.Matrix2D();m.xx = l.xx * r.xx + l.xy * r.yx;m.xy = l.xx * r.xy + l.xy * r.yy;m.yx = l.yx * r.xx + l.yy * r.yx;m.yy = l.yx * r.xy + l.yy * r.yy;m.dx = l.xx * r.dx + l.xy * r.dy + l.dx;m.dy = l.yx * r.dx + l.yy * r.dy + l.dy;}
+return m;},_sandwich: function(m, x, y){return dojo.gfx.matrix.multiply(dojo.gfx.matrix.translate(x, y), m, dojo.gfx.matrix.translate(-x, -y));},scaleAt: function(a, b, c, d){switch(arguments.length){case 4:
+return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.scale(a, b), c, d);case 3:
+if(typeof c == "number"){return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.scale(a), b, c);}
+return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.scale(a, b), c.x, c.y);}
+return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.scale(a), b.x, b.y);},rotateAt: function(angle, a, b){if(arguments.length > 2){return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.rotate(angle), a, b);}
+return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.rotate(angle), a.x, a.y);},rotategAt: function(degree, a, b){if(arguments.length > 2){return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.rotateg(degree), a, b);}
+return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.rotateg(degree), a.x, a.y);},skewXAt: function(angle, a, b){if(arguments.length > 2){return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.skewX(angle), a, b);}
+return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.skewX(angle), a.x, a.y);},skewXgAt: function(degree, a, b){if(arguments.length > 2){return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.skewXg(degree), a, b);}
+return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.skewXg(degree), a.x, a.y);},skewYAt: function(angle, a, b){if(arguments.length > 2){return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.skewY(angle), a, b);}
+return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.skewY(angle), a.x, a.y);},skewYgAt: function( degree,  a,  b){if(arguments.length > 2){return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.skewYg(degree), a, b);}
+return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.skewYg(degree), a.x, a.y);}});dojo.gfx.Matrix2D = dojo.gfx.matrix.Matrix2D;
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/matrix.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/path.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/path.js?view=auto&rev=498423
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/path.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/path.js Sun Jan 21 10:25:59 2007
@@ -0,0 +1,43 @@
+
+dojo.provide("dojo.gfx.path");dojo.require("dojo.math");dojo.require("dojo.gfx.shape");dojo.declare("dojo.gfx.path.Path", dojo.gfx.Shape,function(rawNode){this.shape = dojo.lang.shallowCopy(dojo.gfx.defaultPath, true);this.segments = [];this.absolute = true;this.last = {};this.attach(rawNode);}, {setAbsoluteMode: function(mode){this.absolute = typeof(mode) == "string" ? (mode == "absolute") : mode;return this;},getAbsoluteMode: function(){return this.absolute;},getBoundingBox: function(){return "l" in this.bbox ? {x: this.bbox.l, y: this.bbox.t, width: this.bbox.r - this.bbox.l, height: this.bbox.b - this.bbox.t} : null;},getLastPosition: function(){return "x" in this.last ? this.last : null;},_updateBBox: function(x, y){if("l" in this.bbox){if(this.bbox.l > x) this.bbox.l = x;if(this.bbox.r < x) this.bbox.r = x;if(this.bbox.t > y) this.bbox.t = y;if(this.bbox.b < y) this.bbox.b = y;}else{this.bbox = {l: x, b: y, r: x, t: y};}},_updateWithSegment: function(segment){var n = s
 egment.args;var l = n.length;switch(segment.action){case "M":
+case "L":
+case "C":
+case "S":
+case "Q":
+case "T":
+for(var i = 0; i < l; i += 2){this._updateBBox(this.bbox, n[i], n[i + 1]);}
+this.last.x = n[l - 2];this.last.y = n[l - 1];this.absolute = true;break;case "H":
+for(var i = 0; i < l; ++i){this._updateBBox(this.bbox, n[i], this.last.y);}
+this.last.x = n[l - 1];this.absolute = true;break;case "V":
+for(var i = 0; i < l; ++i){this._updateBBox(this.bbox, this.last.x, n[i]);}
+this.last.y = n[l - 1];this.absolute = true;break;case "m":
+var start = 0;if(!("x" in this.last)){this._updateBBox(this.bbox, this.last.x = n[0], this.last.y = n[1]);start = 2;}
+for(var i = start; i < l; i += 2){this._updateBBox(this.bbox, this.last.x += n[i], this.last.y += n[i + 1]);}
+this.absolute = false;break;case "l":
+case "t":
+for(var i = 0; i < l; i += 2){this._updateBBox(this.bbox, this.last.x += n[i], this.last.y += n[i + 1]);}
+this.absolute = false;break;case "h":
+for(var i = 0; i < l; ++i){this._updateBBox(this.bbox, this.last.x += n[i], this.last.y);}
+this.absolute = false;break;case "v":
+for(var i = 0; i < l; ++i){this._updateBBox(this.bbox, this.last.x, this.last.y += n[i]);}
+this.absolute = false;break;case "c":
+for(var i = 0; i < l; i += 6){this._updateBBox(this.bbox, this.last.x + n[i], this.last.y + n[i + 1]);this._updateBBox(this.bbox, this.last.x + n[i + 2], this.last.y + n[i + 3]);this._updateBBox(this.bbox, this.last.x += n[i + 4], this.last.y += n[i + 5]);}
+this.absolute = false;break;case "s":
+case "q":
+for(var i = 0; i < l; i += 4){this._updateBBox(this.bbox, this.last.x + n[i], this.last.y + n[i + 1]);this._updateBBox(this.bbox, this.last.x += n[i + 2], this.last.y += n[i + 3]);}
+this.absolute = false;break;case "A":
+for(var i = 0; i < l; i += 7){this._updateBBox(this.bbox, n[i + 5], n[i + 6]);}
+this.last.x = n[l - 2];this.last.y = n[l - 1];this.absolute = true;break;case "a":
+for(var i = 0; i < l; i += 7){this._updateBBox(this.bbox, this.last.x += n[i + 5], this.last.y += n[i + 6]);}
+this.absolute = false;break;}
+var path = [segment.action];for(var i = 0; i < l; ++i){path.push(dojo.gfx.formatNumber(n[i], true));}
+if(typeof(this.shape.path) == "string"){this.shape.path += path.join("");}else{this.shape.path = this.shape.path.concat(path);}},_validSegments: {m: 2, l: 2, h: 1, v: 1, c: 6, s: 4, q: 4, t: 2, a: 7, z: 0},_pushSegment: function(action, args){var group = this._validSegments[action.toLowerCase()];if(typeof(group) == "number"){if(group){if(args.length >= group){var segment = {action: action, args: args.slice(0, args.length - args.length % group)};this.segments.push(segment);this._updateWithSegment(segment);}}else{var segment = {action: action, args: []};this.segments.push(segment);this._updateWithSegment(segment);}}
+},_collectArgs: function(array, args){for(var i = 0; i < args.length; ++i){var t = args[i];if(typeof(t) == "boolean"){array.push(t ? 1 : 0);}else if(typeof(t) == "number"){array.push(t);}else if(t instanceof Array){this._collectArgs(array, t);}else if("x" in t && "y" in t){array.push(t.x);array.push(t.y);}}
+},moveTo: function(){var args = [];this._collectArgs(args, arguments);this._pushSegment(this.absolute ? "M" : "m", args);return this;},lineTo: function(){var args = [];this._collectArgs(args, arguments);this._pushSegment(this.absolute ? "L" : "l", args);return this;},hLineTo: function(){var args = [];this._collectArgs(args, arguments);this._pushSegment(this.absolute ? "H" : "h", args);return this;},vLineTo: function(){var args = [];this._collectArgs(args, arguments);this._pushSegment(this.absolute ? "V" : "v", args);return this;},curveTo: function(){var args = [];this._collectArgs(args, arguments);this._pushSegment(this.absolute ? "C" : "c", args);return this;},smoothCurveTo: function(){var args = [];this._collectArgs(args, arguments);this._pushSegment(this.absolute ? "S" : "s", args);return this;},qCurveTo: function(){var args = [];this._collectArgs(args, arguments);this._pushSegment(this.absolute ? "Q" : "q", args);return this;},qSmoothCurveTo: function(){var args = [];thi
 s._collectArgs(args, arguments);this._pushSegment(this.absolute ? "T" : "t", args);return this;},arcTo: function(){var args = [];this._collectArgs(args, arguments);for(var i = 2; i < args.length; i += 7){args[i] = -args[i];}
+this._pushSegment(this.absolute ? "A" : "a", args);return this;},closePath: function(){this._pushSegment("Z", []);return this;},_setPath: function(path){var p = path.match(dojo.gfx.pathRegExp);this.segments = [];this.absolute = true;this.bbox = {};this.last = {};if(!p) return;var action = "";var args = [];for(var i = 0; i < p.length; ++i){var t = p[i];var x = parseFloat(t);if(isNaN(x)){if(action){this._pushSegment(action, args);}
+args = [];action = t;}else{args.push(x);}}
+this._pushSegment(action, args);},setShape: function(newShape){this.shape = dojo.gfx.makeParameters(this.shape, typeof(newShape) == "string" ? {path: newShape} : newShape);var path = this.shape.path;this.shape.path = [];this._setPath(path);this.shape.path = this.shape.path.join("");return this;},_2PI: Math.PI * 2
+});dojo.declare("dojo.gfx.path.TextPath", dojo.gfx.path.Path,function(rawNode){if(!("text" in this)){this.text = dojo.lang.shallowCopy(dojo.gfx.defaultTextPath, true);}
+if(!("fontStyle" in this)){this.fontStyle = dojo.lang.shallowCopy(dojo.gfx.defaultFont, true);}},{setText: function(newText){this.text = dojo.gfx.makeParameters(this.text,typeof(newText) == "string" ? {text: newText} : newText);this._setText();},setFont: function(newFont){this.fontStyle = typeof newFont == "string" ?
+dojo.gfx.splitFontString(newFont) :
+dojo.gfx.makeParameters(dojo.gfx.defaultFont, newFont);this._setFont();}});
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/path.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/shape.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/shape.js?view=auto&rev=498423
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/shape.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/shape.js Sun Jan 21 10:25:59 2007
@@ -0,0 +1,17 @@
+
+dojo.provide("dojo.gfx.shape");dojo.require("dojo.lang.declare");dojo.require("dojo.gfx.common");dojo.declare("dojo.gfx.Shape", null,function(){this.rawNode = null;this.shape = null;this.matrix = null;this.fillStyle = null;this.strokeStyle = null;this.bbox = null;this.parent = null;this.parentMatrix = null;},{getNode: function(){return this.rawNode;},getShape: function(){return this.shape;},getTransform: function(){return this.matrix;},getFill: function(){return this.fillStyle;},getStroke: function(){return this.strokeStyle;},getParent: function(){return this.parent;},getBoundingBox: function(){return this.bbox;},getEventSource: function(){return this.rawNode;},setShape: function(shape){return this;},setFill: function(fill){return this;},setStroke: function(stroke){return this;},moveToFront: function(){return this;},moveToBack: function(){return this;},setTransform: function(matrix){this.matrix = dojo.gfx.matrix.clone(matrix ? dojo.gfx.matrix.normalize(matrix) : dojo.gfx.ide
 ntity, true);return this._applyTransform();},applyRightTransform: function(matrix){return matrix ? this.setTransform([this.matrix, matrix]) : this;},applyLeftTransform: function(matrix){return matrix ? this.setTransform([matrix, this.matrix]) : this;},applyTransform: function(matrix){return matrix ? this.setTransform([this.matrix, matrix]) : this;},remove: function(silently){if(this.parent){this.parent.remove(this, silently);}
+return this;},_setParent: function(parent, matrix){this.parent = parent;return this._updateParentMatrix(matrix);},_updateParentMatrix: function(matrix){this.parentMatrix = matrix ? dojo.gfx.matrix.clone(matrix) : null;return this._applyTransform();},_getRealMatrix: function(){return this.parentMatrix ? new dojo.gfx.matrix.Matrix2D([this.parentMatrix, this.matrix]) : this.matrix;}});dojo.declare("dojo.gfx.shape.VirtualGroup", dojo.gfx.Shape,function() {this.children = [];},{add: function(shape){var oldParent = shape.getParent();if(oldParent){oldParent.remove(shape, true);}
+this.children.push(shape);return shape._setParent(this, this._getRealMatrix());},remove: function(shape, silently){for(var i = 0; i < this.children.length; ++i){if(this.children[i] == shape){if(silently){}else{shape._setParent(null, null);}
+this.children.splice(i, 1);break;}}
+return this;},clear: function(){this.children = [];return this;},_applyTransform: function(){var matrix = this._getRealMatrix();for(var i = 0; i < this.children.length; ++i){this.children[i]._updateParentMatrix(matrix);}
+return this;}});dojo.declare("dojo.gfx.shape.Rect", dojo.gfx.Shape,function(rawNode) {this.shape = dojo.lang.shallowCopy(dojo.gfx.defaultRect, true);this.attach(rawNode);},{getBoundingBox: function(){return this.shape;}});dojo.declare("dojo.gfx.shape.Ellipse", dojo.gfx.Shape,function(rawNode) {this.shape = dojo.lang.shallowCopy(dojo.gfx.defaultEllipse, true);this.attach(rawNode);},{getBoundingBox: function(){if(!this.bbox){var shape = this.shape;this.bbox = {x: shape.cx - shape.rx, y: shape.cy - shape.ry,width: 2 * shape.rx, height: 2 * shape.ry};}
+return this.bbox;}});dojo.declare("dojo.gfx.shape.Circle", dojo.gfx.Shape,function(rawNode) {this.shape = dojo.lang.shallowCopy(dojo.gfx.defaultCircle, true);this.attach(rawNode);},{getBoundingBox: function(){if(!this.bbox){var shape = this.shape;this.bbox = {x: shape.cx - shape.r, y: shape.cy - shape.r,width: 2 * shape.r, height: 2 * shape.r};}
+return this.bbox;}});dojo.declare("dojo.gfx.shape.Line", dojo.gfx.Shape,function(rawNode) {this.shape = dojo.lang.shallowCopy(dojo.gfx.defaultLine, true);this.attach(rawNode);},{getBoundingBox: function(){if(!this.bbox){var shape = this.shape;this.bbox = {x:Math.min(shape.x1, shape.x2),y:Math.min(shape.y1, shape.y2),width:Math.abs(shape.x2 - shape.x1),height:Math.abs(shape.y2 - shape.y1)
+};}
+return this.bbox;}});dojo.declare("dojo.gfx.shape.Polyline", dojo.gfx.Shape,function(rawNode) {this.shape = dojo.lang.shallowCopy(dojo.gfx.defaultPolyline, true);this.attach(rawNode);},{getBoundingBox: function(){if(!this.bbox && this.shape.points.length){var p = this.shape.points;var l = p.length;var t = p[0];var bbox = {l: t.x, t: t.y, r: t.x, b: t.y};for(var i = 1; i < l; ++i){t = p[i];if(bbox.l > t.x) bbox.l = t.x;if(bbox.r < t.x) bbox.r = t.x;if(bbox.t > t.y) bbox.t = t.y;if(bbox.b < t.y) bbox.b = t.y;}
+this.bbox = {x:bbox.l,y:bbox.t,width:bbox.r - bbox.l,height:bbox.b - bbox.t
+};}
+return this.bbox;}});dojo.declare("dojo.gfx.shape.Image", dojo.gfx.Shape,function(rawNode) {this.shape = dojo.lang.shallowCopy(dojo.gfx.defaultImage, true);this.attach(rawNode);},{getBoundingBox: function(){if(!this.bbox){var shape = this.shape;this.bbox = {x:0,y:0,width:shape.width,height:shape.height
+};}
+return this.bbox;}});dojo.declare("dojo.gfx.shape.Text", dojo.gfx.Shape,function(rawNode) {this.fontStyle = null;this.shape = dojo.lang.shallowCopy(dojo.gfx.defaultText, true);this.attach(rawNode);},{setFont: function(newFont){this.fontStyle = typeof newFont == "string" ? dojo.gfx.splitFontString(newFont) :
+dojo.gfx.makeParameters(dojo.gfx.defaultFont, newFont);this._setFont();}});
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/shape.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/svg.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/svg.js?view=auto&rev=498423
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/svg.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/svg.js Sun Jan 21 10:25:59 2007
@@ -0,0 +1,63 @@
+
+dojo.provide("dojo.gfx.svg");dojo.require("dojo.lang.declare");dojo.require("dojo.svg");dojo.require("dojo.gfx.color");dojo.require("dojo.gfx.common");dojo.require("dojo.gfx.shape");dojo.require("dojo.gfx.path");dojo.require("dojo.experimental");dojo.experimental("dojo.gfx.svg");dojo.gfx.svg.getRef = function(fill){if(!fill || fill == "none") return null;if(fill.match(/^url\(#.+\)$/)){return dojo.byId(fill.slice(5, -1));}
+if(dojo.render.html.opera && fill.match(/^#dj_unique_.+$/)){return dojo.byId(fill.slice(1));}
+return null;};dojo.lang.extend(dojo.gfx.Shape, {setFill: function(fill){var h = dojo.render.html;if(!fill){this.fillStyle = null;this.rawNode.setAttribute("fill", "none");this.rawNode.setAttribute("fill-opacity", 0);return this;}
+if(typeof(fill) == "object" && "type" in fill){switch(fill.type){case "linear":
+var f = dojo.gfx.makeParameters(dojo.gfx.defaultLinearGradient, fill);var gradient = this._setFillObject(f, "linearGradient");dojo.lang.forEach(["x1", "y1", "x2", "y2"], function(x){gradient.setAttribute(x, (h.safari ? parseInt(f[x]) : f[x].toFixed(8)));});break;case "radial":
+var f = dojo.gfx.makeParameters(dojo.gfx.defaultRadialGradient, fill);var gradient = this._setFillObject(f, "radialGradient");dojo.lang.forEach(["cx", "cy", "r"], function(x){gradient.setAttribute(x, f[x].toFixed(8));});break;case "pattern":
+var f = dojo.gfx.makeParameters(dojo.gfx.defaultPattern, fill);var pattern = this._setFillObject(f, "pattern");dojo.lang.forEach(["x", "y", "width", "height"], function(x){pattern.setAttribute(x, f[x].toFixed(8));});break;}
+return this;}
+var f = dojo.gfx.normalizeColor(fill);this.fillStyle = f;this.rawNode.setAttribute("fill", f.toCss());this.rawNode.setAttribute("fill-opacity", f.a);return this;},setStroke: function(stroke){if(!stroke){this.strokeStyle = null;this.rawNode.setAttribute("stroke", "none");this.rawNode.setAttribute("stroke-opacity", 0);return this;}
+if(typeof stroke == "string"){stroke = {color: stroke};}
+var s = this.strokeStyle = dojo.gfx.makeParameters(dojo.gfx.defaultStroke, stroke);s.color = dojo.gfx.normalizeColor(s.color);var rn = this.rawNode;if(s){rn.setAttribute("stroke", s.color.toCss());rn.setAttribute("stroke-opacity", s.color.a);rn.setAttribute("stroke-width",   s.width);rn.setAttribute("stroke-linecap", s.cap);if(typeof(s.join) == "number"){rn.setAttribute("stroke-linejoin",   "miter");rn.setAttribute("stroke-miterlimit", s.join);}else{rn.setAttribute("stroke-linejoin",   s.join);}}
+return this;},_setFillObject: function(f, nodeType){this.fillStyle = f;var surface = this.parent;for(; !(surface instanceof dojo.gfx.Surface); surface = surface.parent);var defs = surface.defNode;var fill = this.rawNode.getAttribute("fill");var ref  = dojo.gfx.svg.getRef(fill);if(ref){fill = ref;if(fill.tagName.toLowerCase() != nodeType.toLowerCase()){var id = fill.id;fill.parentNode.removeChild(fill);fill = document.createElementNS(dojo.svg.xmlns.svg, nodeType);fill.setAttribute("id", id);defs.appendChild(fill);}else{while(fill.childNodes.length){fill.removeChild(fill.lastChild);}}
+}else{fill = document.createElementNS(dojo.svg.xmlns.svg, nodeType);fill.setAttribute("id", dojo.dom.getUniqueId());defs.appendChild(fill);}
+if(nodeType == "pattern"){fill.setAttribute("patternUnits", "userSpaceOnUse");var img = document.createElementNS(dojo.svg.xmlns.svg, "image");img.setAttribute("x", 0);img.setAttribute("y", 0);img.setAttribute("width",  f.width .toFixed(8));img.setAttribute("height", f.height.toFixed(8));img.setAttributeNS(dojo.svg.xmlns.xlink, "href", f.src);fill.appendChild(img);}else{fill.setAttribute("gradientUnits", "userSpaceOnUse");for(var i = 0; i < f.colors.length; ++i){f.colors[i].color = dojo.gfx.normalizeColor(f.colors[i].color);var t = document.createElementNS(dojo.svg.xmlns.svg, "stop");t.setAttribute("offset",     (dojo.render.html.safari ? parseInt(f.colors[i].offset) : f.colors[i].offset.toFixed(8)));t.setAttribute("stop-color", f.colors[i].color.toCss());fill.appendChild(t);}}
+this.rawNode.setAttribute("fill", "url(#" + fill.getAttribute("id") +")");this.rawNode.removeAttribute("fill-opacity");return fill;},_applyTransform: function() {var matrix = this._getRealMatrix();if(matrix){var tm = this.matrix;if(dojo.render.html.safari){this.rawNode.setAttribute("transform", "matrix(" +
+parseInt(tm.xx) + "," + parseInt(tm.yx) + "," +
+parseInt(tm.xy) + "," + parseInt(tm.yy) + "," +
+parseInt(tm.dx) + "," + parseInt(tm.dy) + ")");}else{this.rawNode.setAttribute("transform", "matrix(" +
+tm.xx.toFixed(8) + "," + tm.yx.toFixed(8) + "," +
+tm.xy.toFixed(8) + "," + tm.yy.toFixed(8) + "," +
+tm.dx.toFixed(8) + "," + tm.dy.toFixed(8) + ")");}}else{this.rawNode.removeAttribute("transform");}
+return this;},setRawNode: function(rawNode){with(rawNode){setAttribute("fill", "none");setAttribute("fill-opacity", 0);setAttribute("stroke", "none");setAttribute("stroke-opacity", 0);setAttribute("stroke-width", 1);setAttribute("stroke-linecap", "butt");setAttribute("stroke-linejoin", "miter");setAttribute("stroke-miterlimit", 4);}
+this.rawNode = rawNode;},moveToFront: function(){this.rawNode.parentNode.appendChild(this.rawNode);return this;},moveToBack: function(){this.rawNode.parentNode.insertBefore(this.rawNode, this.rawNode.parentNode.firstChild);return this;},setShape: function(newShape){this.shape = dojo.gfx.makeParameters(this.shape, newShape);for(var i in this.shape){if(i != "type"){ this.rawNode.setAttribute(i, this.shape[i]); }}
+return this;},attachFill: function(rawNode){var fillStyle = null;if(rawNode){var fill = rawNode.getAttribute("fill");if(fill == "none"){ return null; }
+var ref  = dojo.gfx.svg.getRef(fill);if(ref){var gradient = ref;switch(gradient.tagName.toLowerCase()){case "lineargradient":
+fillStyle = this._getGradient(dojo.gfx.defaultLinearGradient, gradient);dojo.lang.forEach(["x1", "y1", "x2", "y2"], function(x){fillStyle[x] = gradient.getAttribute(x);});break;case "radialgradient":
+fillStyle = this._getGradient(dojo.gfx.defaultRadialGradient, gradient);dojo.lang.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(dojo.gfx.defaultPattern, true);dojo.lang.forEach(["x", "y", "width", "height"], function(x){fillStyle[x] = gradient.getAttribute(x);});fillStyle.src = gradient.firstChild.getAttributeNS(dojo.svg.xmlns.xlink, "href");break;}}else{fillStyle = new dojo.gfx.color.Color(fill);var opacity = rawNode.getAttribute("fill-opacity");if(opacity != null) fillStyle.a = opacity;}}
+return fillStyle;},_getGradient: function(defaultGradient, gradient){var fillStyle = dojo.lang.shallowCopy(defaultGradient, true);fillStyle.colors = [];for(var i = 0; i < gradient.childNodes.length; ++i){fillStyle.colors.push({offset: gradient.childNodes[i].getAttribute("offset"),color:  new dojo.gfx.color.Color(gradient.childNodes[i].getAttribute("stop-color"))
+});}
+return fillStyle;},attachStroke: function(rawNode){if(!rawNode){ return null; }
+var stroke = rawNode.getAttribute("stroke");if(stroke == null || stroke == "none") return null;var strokeStyle = dojo.lang.shallowCopy(dojo.gfx.defaultStroke, true);var color = new dojo.gfx.color.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");}}
+return strokeStyle;},attachTransform: function(rawNode){var matrix = null;if(rawNode){matrix = rawNode.getAttribute("transform");if(matrix.match(/^matrix\(.+\)$/)){var t = matrix.slice(7, -1).split(",");matrix = dojo.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])
+});}}
+return matrix;},attachShape: function(rawNode){var shape = null;if(rawNode){shape = dojo.lang.shallowCopy(this.shape, true);for(var i in shape) {shape[i] = rawNode.getAttribute(i);}}
+return shape;},attach: function(rawNode){if(rawNode) {this.rawNode = rawNode;this.fillStyle = this.attachFill(rawNode);this.strokeStyle = this.attachStroke(rawNode);this.matrix = this.attachTransform(rawNode);this.shape = this.attachShape(rawNode);}}
+});dojo.declare("dojo.gfx.Group", dojo.gfx.Shape, {setRawNode: function(rawNode){this.rawNode = rawNode;}});dojo.gfx.Group.nodeType = "g";dojo.declare("dojo.gfx.Rect", dojo.gfx.shape.Rect, {attachShape: function(rawNode){var shape = null;if(rawNode){shape = dojo.gfx.Rect.superclass.attachShape.apply(this, arguments);shape.r = Math.min(rawNode.getAttribute("rx"), rawNode.getAttribute("ry"));}
+return shape;},setShape: function(newShape){this.shape = dojo.gfx.makeParameters(this.shape, newShape);this.bbox = null;for(var i in this.shape){if(i != "type" && i != "r"){ this.rawNode.setAttribute(i, this.shape[i]); }}
+if(this.shape.r){this.rawNode.setAttribute("ry", this.shape.r);this.rawNode.setAttribute("rx", this.shape.r);}
+return this;}});dojo.gfx.Rect.nodeType = "rect";dojo.gfx.Ellipse = dojo.gfx.shape.Ellipse;dojo.gfx.Ellipse.nodeType = "ellipse";dojo.gfx.Circle = dojo.gfx.shape.Circle;dojo.gfx.Circle.nodeType = "circle";dojo.gfx.Line = dojo.gfx.shape.Line;dojo.gfx.Line.nodeType = "line";dojo.declare("dojo.gfx.Polyline", dojo.gfx.shape.Polyline, {setShape: function(points){if(points && points instanceof Array){this.shape = dojo.gfx.makeParameters(this.shape, { points: points });if(closed && this.shape.points.length){this.shape.points.push(this.shape.points[0]);}}else{this.shape = dojo.gfx.makeParameters(this.shape, points);}
+this.box = null;var attr = [];var p = this.shape.points;for(var i = 0; i < p.length; ++i){if(dojo.render.html.safari){attr.push(parseInt(p[i].x));attr.push(parseInt(p[i].y));}else{attr.push(p[i].x.toFixed(8));attr.push(p[i].y.toFixed(8));}}
+this.rawNode.setAttribute("points", attr.join(" "));return this;}});dojo.gfx.Polyline.nodeType = "polyline";dojo.declare("dojo.gfx.Image", dojo.gfx.shape.Image, {setShape: function(newShape){this.shape = dojo.gfx.makeParameters(this.shape, newShape);this.bbox = null;var rawNode = this.rawNode;for(var i in this.shape){if(i != "type" && i != "src"){ rawNode.setAttribute(i, this.shape[i]); }}
+rawNode.setAttributeNS(dojo.svg.xmlns.xlink, "href", this.shape.src);return this;},setStroke: function(){return this;},setFill: function(){return this;},attachStroke: function(rawNode){return null;},attachFill: function(rawNode){return null;}});dojo.gfx.Image.nodeType = "image";dojo.declare("dojo.gfx.Text", dojo.gfx.shape.Text, {attachShape: function(rawNode){var shape = null;if(rawNode){shape = dojo.lang.shallowCopy(dojo.gfx.defaultText, true);shape.x = rawNode.getAttribute("x");shape.y = rawNode.getAttribute("y");shape.align = rawNode.getAttribute("text-anchor");shape.decoration = rawNode.getAttribute("text-decoration");shape.rotated = parseFloat(rawNode.getAttribute("rotate")) != 0;shape.kerning = rawNode.getAttribute("kerning") == "auto";shape.text = rawNode.firstChild.nodeValue;}
+return shape;},setShape: function(newShape){this.shape = dojo.gfx.makeParameters(this.shape, newShape);this.bbox = null;var r = this.rawNode;var s = this.shape;r.setAttribute("x", s.x);r.setAttribute("y", s.y);r.setAttribute("text-anchor", s.align);r.setAttribute("text-decoration", s.decoration);r.setAttribute("rotate", s.rotated ? 90 : 0);r.setAttribute("kerning", s.kerning ? "auto" : 0);r.appendChild(document.createTextNode(s.text));return this;}});dojo.gfx.Text.nodeType = "text";dojo.declare("dojo.gfx.Path", dojo.gfx.path.Path, {_updateWithSegment: function(segment){dojo.gfx.Path.superclass._updateWithSegment.apply(this, arguments);if(typeof(this.shape.path) == "string"){this.rawNode.setAttribute("d", this.shape.path);}},setShape: function(newShape){dojo.gfx.Path.superclass.setShape.apply(this, arguments);this.rawNode.setAttribute("d", this.shape.path);return this;}});dojo.gfx.Path.nodeType = "path";dojo.gfx.svg._font = {_setFont: function(){var f = this.fontStyle;this.ra
 wNode.setAttribute("font-style", f.style);this.rawNode.setAttribute("font-variant", f.variant);this.rawNode.setAttribute("font-weight", f.weight);this.rawNode.setAttribute("font-size", f.size);this.rawNode.setAttribute("font-family", f.family);},attachFont: function(rawNode){if(!rawNode){ return null; }
+var fontStyle = dojo.lang.shallowCopy(dojo.gfx.defaultFont, true);fontStyle.style = rawNode.getAttribute("font-style");fontStyle.variant = rawNode.getAttribute("font-variant");fontStyle.weight = rawNode.getAttribute("font-weight");fontStyle.size = rawNode.getAttribute("font-size");fontStyle.family = rawNode.getAttribute("font-family");return fontStyle;},attach: function(rawNode){dojo.gfx.Shape.prototype.attach.call(this, rawNode);if(rawNode) {this.fontStyle = this.attachFont(rawNode);}}
+};dojo.lang.extend(dojo.gfx.Text, dojo.gfx.svg._font);delete dojo.gfx.svg._font;dojo.gfx.svg._creators = {createPath: function(path){return this.createObject(dojo.gfx.Path, path);},createRect: function(rect){return this.createObject(dojo.gfx.Rect, rect);},createCircle: function(circle){return this.createObject(dojo.gfx.Circle, circle);},createEllipse: function(ellipse){return this.createObject(dojo.gfx.Ellipse, ellipse);},createLine: function(line){return this.createObject(dojo.gfx.Line, line);},createPolyline: function(points){return this.createObject(dojo.gfx.Polyline, points);},createImage: function(image){return this.createObject(dojo.gfx.Image, image);},createText: function(text){return this.createObject(dojo.gfx.Text, text);},createGroup: function(){return this.createObject(dojo.gfx.Group);},createObject: function(shapeType, rawShape){if(!this.rawNode){ return null; }
+var shape = new shapeType();var node = document.createElementNS(dojo.svg.xmlns.svg, shapeType.nodeType);shape.setRawNode(node);this.rawNode.appendChild(node);shape.setShape(rawShape);this.add(shape);return shape;},add: function(shape){var oldParent = shape.getParent();if(oldParent){oldParent.remove(shape, true);}
+shape._setParent(this, null);this.rawNode.appendChild(shape.rawNode);return this;},remove: function(shape, silently){if(this.rawNode == shape.rawNode.parentNode){this.rawNode.removeChild(shape.rawNode);}
+shape._setParent(null, null);return this;},clear: function(){var r = this.rawNode;while(r.lastChild){r.removeChild(r.lastChild);}
+return this;}};dojo.gfx.attachNode = function(node){if(!node) return null;var s = null;switch(node.tagName.toLowerCase()){case dojo.gfx.Rect.nodeType:
+s = new dojo.gfx.Rect();break;case dojo.gfx.Ellipse.nodeType:
+s = new dojo.gfx.Ellipse();break;case dojo.gfx.Polyline.nodeType:
+s = new dojo.gfx.Polyline();break;case dojo.gfx.Path.nodeType:
+s = new dojo.gfx.Path();break;case dojo.gfx.Circle.nodeType:
+s = new dojo.gfx.Circle();break;case dojo.gfx.Line.nodeType:
+s = new dojo.gfx.Line();break;case dojo.gfx.Image.nodeType:
+s = new dojo.gfx.Image();break;case dojo.gfx.Text.nodeType:
+s = new dojo.gfx.Text();break;default:
+dojo.debug("FATAL ERROR! tagName = " + node.tagName);}
+s.attach(node);return s;};dojo.lang.extend(dojo.gfx.Surface, {setDimensions: function(width, height){if(!this.rawNode){ return this; }
+this.rawNode.setAttribute("width",  width);this.rawNode.setAttribute("height", height);return this;},getDimensions: function(){return this.rawNode ? {width: this.rawNode.getAttribute("width"), height: this.rawNode.getAttribute("height")} : null;}});dojo.gfx.createSurface = function(parentNode, width, height){var s = new dojo.gfx.Surface();s.rawNode = document.createElementNS(dojo.svg.xmlns.svg, "svg");s.rawNode.setAttribute("width",  width);s.rawNode.setAttribute("height", height);var defs = new dojo.gfx.svg.Defines();var node = document.createElementNS(dojo.svg.xmlns.svg, dojo.gfx.svg.Defines.nodeType);defs.setRawNode(node);s.rawNode.appendChild(node);s.defNode = node;dojo.byId(parentNode).appendChild(s.rawNode);return s;};dojo.gfx.attachSurface = function(node){var s = new dojo.gfx.Surface();s.rawNode = node;var def_elems = node.getElementsByTagName("defs");if(def_elems.length == 0){return null;}
+s.defNode = def_elems[0];return s;};dojo.lang.extend(dojo.gfx.Group, dojo.gfx.svg._creators);dojo.lang.extend(dojo.gfx.Surface, dojo.gfx.svg._creators);delete dojo.gfx.svg._creators;dojo.gfx.svg.Defines = function(){this.rawNode = null;};dojo.lang.extend(dojo.gfx.svg.Defines, {setRawNode: function(rawNode){this.rawNode = rawNode;}});dojo.gfx.svg.Defines.nodeType = "defs";
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/svg.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/vml.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/vml.js?view=auto&rev=498423
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/vml.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/vml.js Sun Jan 21 10:25:59 2007
@@ -0,0 +1,143 @@
+
+dojo.provide("dojo.gfx.vml");dojo.require("dojo.dom");dojo.require("dojo.math");dojo.require("dojo.lang.declare");dojo.require("dojo.lang.extras");dojo.require("dojo.string.*");dojo.require("dojo.html.metrics");dojo.require("dojo.gfx.color");dojo.require("dojo.gfx.common");dojo.require("dojo.gfx.shape");dojo.require("dojo.gfx.path");dojo.require("dojo.experimental");dojo.experimental("dojo.gfx.vml");dojo.gfx.vml.xmlns = "urn:schemas-microsoft-com:vml";dojo.gfx.vml._parseFloat = function(str) {return str.match(/^\d+f$/i) ? parseInt(str) / 65536 : parseFloat(str);};dojo.gfx.vml.cm_in_pt = 72 / 2.54;dojo.gfx.vml.mm_in_pt = 7.2 / 2.54;dojo.gfx.vml.px_in_pt = function(){return dojo.html.getCachedFontMeasurements()["12pt"] / 12;};dojo.gfx.vml.pt2px = function(len){return len * this.px_in_pt();};dojo.gfx.vml.px2pt = function(len){return len / this.px_in_pt();};dojo.gfx.vml.normalizedLength = function(len) {if(len.length == 0) return 0;if(len.length > 2){var px_in_pt = this.px_in_pt
 ();var val = parseFloat(len);switch(len.slice(-2)){case "px": return val;case "pt": return val * px_in_pt;case "in": return val * 72 * px_in_pt;case "pc": return val * 12 * px_in_pt;case "mm": return val / this.mm_in_pt * px_in_pt;case "cm": return val / this.cm_in_pt * px_in_pt;}}
+return parseFloat(len);};dojo.gfx.vml._bool = {"t": 1, "true": 1};dojo.lang.extend(dojo.gfx.Shape, {setFill: function(fill){if(!fill){this.fillStyle = null;this.rawNode.filled = false;return this;}
+if(typeof(fill) == "object" && "type" in fill){switch(fill.type){case "linear":
+var f = dojo.gfx.makeParameters(dojo.gfx.defaultLinearGradient, fill);this.fillStyle = f;var s = "";for(var i = 0; i < f.colors.length; ++i){f.colors[i].color = dojo.gfx.normalizeColor(f.colors[i].color);s += f.colors[i].offset.toFixed(8) + " " + f.colors[i].color.toHex() + ";";}
+var fo = this.rawNode.fill;fo.colors.value = s;fo.method = "sigma";fo.type = "gradient";fo.angle = (dojo.math.radToDeg(Math.atan2(f.x2 - f.x1, f.y2 - f.y1)) + 180) % 360;fo.on = true;break;case "radial":
+var f = dojo.gfx.makeParameters(dojo.gfx.defaultRadialGradient, fill);this.fillStyle = f;var w = parseFloat(this.rawNode.style.width);var h = parseFloat(this.rawNode.style.height);var c = isNaN(w) ? 1 : 2 * f.r / w;var i = f.colors.length - 1;f.colors[i].color = dojo.gfx.normalizeColor(f.colors[i].color);var s = "0 " + f.colors[i].color.toHex();for(; i >= 0; --i){f.colors[i].color = dojo.gfx.normalizeColor(f.colors[i].color);s += (1 - c * f.colors[i].offset).toFixed(8) + " " + f.colors[i].color.toHex() + ";";}
+var fo = this.rawNode.fill;fo.colors.value = s;fo.method = "sigma";fo.type = "gradientradial";if(isNaN(w) || isNaN(h)){fo.focusposition = "0.5 0.5";}else{fo.focusposition = (f.cx / w).toFixed(8) + " " + (f.cy / h).toFixed(8);}
+fo.focussize = "0 0";fo.on = true;break;case "pattern":
+var f = dojo.gfx.makeParameters(dojo.gfx.defaultPattern, fill);this.fillStyle = f;var fo = this.rawNode.fill;fo.type = "tile";fo.src = f.src;if(f.width && f.height){fo.size.x = dojo.gfx.vml.px2pt(f.width);fo.size.y = dojo.gfx.vml.px2pt(f.height);}
+fo.alignShape = false;fo.position.x = 0;fo.position.y = 0;fo.origin.x = f.width  ? f.x / f.width  : 0;fo.origin.y = f.height ? f.y / f.height : 0;fo.on = true;break;}
+this.rawNode.fill.opacity = 1;return this;}
+this.fillStyle = dojo.gfx.normalizeColor(fill);this.rawNode.fillcolor = this.fillStyle.toHex();this.rawNode.fill.opacity = this.fillStyle.a;this.rawNode.filled = true;return this;},setStroke: function(stroke){if(!stroke){this.strokeStyle = null;this.rawNode.stroked = false;return this;}
+if(typeof stroke == "string"){stroke = {color: stroke};}
+var s = this.strokeStyle = dojo.gfx.makeParameters(dojo.gfx.defaultStroke, stroke);s.color = dojo.gfx.normalizeColor(s.color);var rn = this.rawNode;rn.stroked = true;rn.strokecolor = s.color.toCss();rn.strokeweight = s.width + "px";if(rn.stroke) {rn.stroke.opacity = s.color.a;rn.stroke.endcap = this._translate(this._capMap, s.cap);if(typeof(s.join) == "number") {rn.stroke.joinstyle = "miter";rn.stroke.miterlimit = s.join;}else{rn.stroke.joinstyle = s.join;}}
+return this;},_capMap: { butt: 'flat' },_capMapReversed: { flat: 'butt' },_translate: function(dict, value) {return (value in dict) ? dict[value] : value;},_applyTransform: function() {var matrix = this._getRealMatrix();if(!matrix) return this;var skew = this.rawNode.skew;if(typeof(skew) == "undefined"){for(var i = 0; i < this.rawNode.childNodes.length; ++i){if(this.rawNode.childNodes[i].tagName == "skew"){skew = this.rawNode.childNodes[i];break;}}
+}
+if(skew){skew.on = false;var mt = matrix.xx.toFixed(8) + " " + matrix.xy.toFixed(8) + " " +
+matrix.yx.toFixed(8) + " " + matrix.yy.toFixed(8) + " 0 0";var offset = Math.floor(matrix.dx).toFixed() + "px " + Math.floor(matrix.dy).toFixed() + "px";var l = parseFloat(this.rawNode.style.left);var t = parseFloat(this.rawNode.style.top);var w = parseFloat(this.rawNode.style.width);var h = parseFloat(this.rawNode.style.height);if(isNaN(l)) l = 0;if(isNaN(t)) t = 0;if(isNaN(w)) w = 1;if(isNaN(h)) h = 1;var origin = (-l / w - 0.5).toFixed(8) + " " + (-t / h - 0.5).toFixed(8);skew.matrix =  mt;skew.origin = origin;skew.offset = offset;skew.on = true;}
+return this;},setRawNode: function(rawNode){rawNode.stroked = false;rawNode.filled  = false;this.rawNode = rawNode;},attachFill: function(rawNode){var fillStyle = null;var fo = rawNode.fill;if(rawNode) {if(fo.on && fo.type == "gradient"){var fillStyle = dojo.lang.shallowCopy(dojo.gfx.defaultLinearGradient, true);var rad = dojo.math.degToRad(fo.angle);fillStyle.x2 = Math.cos(rad);fillStyle.y2 = Math.sin(rad);fillStyle.colors = [];var stops = fo.colors.value.split(";");for(var i = 0; i < stops.length; ++i){var t = stops[i].match(/\S+/g);if(!t || t.length != 2) continue;fillStyle.colors.push({offset: dojo.gfx.vml._parseFloat(t[0]), color: new dojo.gfx.color.Color(t[1])});}}else if(fo.on && fo.type == "gradientradial"){var fillStyle = dojo.lang.shallowCopy(dojo.gfx.defaultRadialGradient, true);var w = parseFloat(rawNode.style.width);var h = parseFloat(rawNode.style.height);fillStyle.cx = isNaN(w) ? 0 : fo.focusposition.x * w;fillStyle.cy = isNaN(h) ? 0 : fo.focusposition.y * h;f
 illStyle.r  = isNaN(w) ? 1 : w / 2;fillStyle.colors = [];var stops = fo.colors.value.split(";");for(var i = stops.length - 1; i >= 0; --i){var t = stops[i].match(/\S+/g);if(!t || t.length != 2) continue;fillStyle.colors.push({offset: dojo.gfx.vml._parseFloat(t[0]), color: new dojo.gfx.color.Color(t[1])});}}else if(fo.on && fo.type == "tile"){var fillStyle = dojo.lang.shallowCopy(dojo.gfx.defaultPattern, true);fillStyle.width  = dojo.gfx.vml.pt2px(fo.size.x);fillStyle.height = dojo.gfx.vml.pt2px(fo.size.y);fillStyle.x = fo.origin.x * fillStyle.width;fillStyle.y = fo.origin.y * fillStyle.height;fillStyle.src = fo.src;}else if(fo.on && rawNode.fillcolor){fillStyle = new dojo.gfx.color.Color(rawNode.fillcolor+"");fillStyle.a = fo.opacity;}}
+return fillStyle;},attachStroke: function(rawNode) {var strokeStyle = dojo.lang.shallowCopy(dojo.gfx.defaultStroke, true);if(rawNode && rawNode.stroked){strokeStyle.color = new dojo.gfx.color.Color(rawNode.strokecolor.value);dojo.debug("We are expecting an .75pt here, instead of strokeweight = " + rawNode.strokeweight );strokeStyle.width = dojo.gfx.vml.normalizedLength(rawNode.strokeweight+"");strokeStyle.color.a = rawNode.stroke.opacity;strokeStyle.cap = this._translate(this._capMapReversed, rawNode.stroke.endcap);strokeStyle.join = rawNode.stroke.joinstyle == "miter" ? rawNode.stroke.miterlimit : rawNode.stroke.joinstyle;}else{return null;}
+return strokeStyle;},attachTransform: function(rawNode) {var matrix = {};if(rawNode){var s = rawNode.skew;matrix.xx = s.matrix.xtox;matrix.xy = s.matrix.ytox;matrix.yx = s.matrix.xtoy;matrix.yy = s.matrix.ytoy;matrix.dx = dojo.gfx.vml.pt2px(s.offset.x);matrix.dy = dojo.gfx.vml.pt2px(s.offset.y);}
+return dojo.gfx.matrix.normalize(matrix);},attach: function(rawNode){if(rawNode){this.rawNode = rawNode;this.shape = this.attachShape(rawNode);if("attachFill" in this){this.fontStyle = this.attachFont(rawNode);}
+this.fillStyle = this.attachFill(rawNode);this.strokeStyle = this.attachStroke(rawNode);this.matrix = this.attachTransform(rawNode);}}
+});dojo.declare("dojo.gfx.Group", dojo.gfx.shape.VirtualGroup, {add: function(shape){if(this != shape.getParent()){this.rawNode.appendChild(shape.rawNode);dojo.gfx.Group.superclass.add.apply(this, arguments);}
+return this;},remove: function(shape, silently){if(this == shape.getParent()){if(this.rawNode == shape.rawNode.parentNode){this.rawNode.removeChild(shape.rawNode);}
+dojo.gfx.Group.superclass.remove.apply(this, arguments);}
+return this;},clear: function(){var r = this.rawNode;while(r.lastChild){r.removeChild(r.lastChild);}
+return dojo.gfx.Group.superclass.clear.call(this);},attach: function(rawNode){if(rawNode){this.rawNode = rawNode;this.shape = null;this.fillStyle = null;this.strokeStyle = null;this.matrix = null;}}
+});dojo.gfx.Group.nodeType = "group";var zIndex = {moveToFront: function(){this.rawNode.parentNode.appendChild(this.rawNode);return this;},moveToBack: function(){var r = this.rawNode;var p = r.parentNode;var n = p.firstChild;p.insertBefore(r, n);if(n.tagName == "rect"){n.swapNode(r);}
+return this;}};dojo.lang.extend(dojo.gfx.Shape, zIndex);dojo.lang.extend(dojo.gfx.Group, zIndex);delete zIndex;dojo.declare("dojo.gfx.Rect", dojo.gfx.shape.Rect, {attachShape: function(rawNode){var arcsize = rawNode.outerHTML.match(/arcsize = \"(\d*\.?\d+[%f]?)\"/)[1];arcsize = (arcsize.indexOf("%") >= 0) ? parseFloat(arcsize) / 100 : dojo.gfx.vml._parseFloat(arcsize);var style = rawNode.style;var width  = parseFloat(style.width);var height = parseFloat(style.height);var o = dojo.gfx.makeParameters(dojo.gfx.defaultRect, {x: parseInt(style.left),y: parseInt(style.top),width:  width,height: height,r: Math.min(width, height) * arcsize
+});return o;},setShape: function(newShape){var shape = this.shape = dojo.gfx.makeParameters(this.shape, newShape);this.bbox = null;var style = this.rawNode.style;style.left   = shape.x.toFixed();style.top    = shape.y.toFixed();style.width  = (typeof(shape.width) == "string" && shape.width.indexOf("%") >= 0)  ? shape.width  : shape.width.toFixed();style.height = (typeof(shape.width) == "string" && shape.height.indexOf("%") >= 0) ? shape.height : shape.height.toFixed();var r = Math.min(1, (shape.r / Math.min(parseFloat(shape.width), parseFloat(shape.height)))).toFixed(8);var parent = this.rawNode.parentNode;var before = null;if(parent){if(parent.lastChild != this.rawNode){for(var i = 0; i < parent.childNodes.length; ++i){if(parent.childNodes[i] == this.rawNode){before = parent.childNodes[i+1];break;}}
+}
+parent.removeChild(this.rawNode);}
+this.rawNode.arcsize = r;if(parent){if(before){parent.insertBefore(this.rawNode, before);}else{parent.appendChild(this.rawNode);}}
+return this.setTransform(this.matrix);}});dojo.gfx.Rect.nodeType = "roundrect";dojo.declare("dojo.gfx.Ellipse", dojo.gfx.shape.Ellipse, {attachShape: function(rawNode){var style = this.rawNode.style;var rx = parseInt(style.width ) / 2;var ry = parseInt(style.height) / 2;var o = dojo.gfx.makeParameters(dojo.gfx.defaultEllipse, {cx: parseInt(style.left) + rx,cy: parseInt(style.top ) + ry,rx: rx,ry: ry
+});return o;},setShape: function(newShape){var shape = this.shape = dojo.gfx.makeParameters(this.shape, newShape);this.bbox = null;var style = this.rawNode.style;style.left   = (shape.cx - shape.rx).toFixed();style.top    = (shape.cy - shape.ry).toFixed();style.width  = (shape.rx * 2).toFixed();style.height = (shape.ry * 2).toFixed();return this.setTransform(this.matrix);}});dojo.gfx.Ellipse.nodeType = "oval";dojo.declare("dojo.gfx.Circle", dojo.gfx.shape.Circle, {attachShape: function(rawNode){var style = this.rawNode.style;var r = parseInt(style.width) / 2;var o = dojo.gfx.makeParameters(dojo.gfx.defaultCircle, {cx: parseInt(style.left) + r,cy: parseInt(style.top)  + r,r:  r
+});return o;},setShape: function(newShape){var shape = this.shape = dojo.gfx.makeParameters(this.shape, newShape);this.bbox = null;var style = this.rawNode.style;style.left   = (shape.cx - shape.r).toFixed();style.top    = (shape.cy - shape.r).toFixed();style.width  = (shape.r * 2).toFixed();style.height = (shape.r * 2).toFixed();return this;}});dojo.gfx.Circle.nodeType = "oval";dojo.declare("dojo.gfx.Line", dojo.gfx.shape.Line,function(rawNode){if(rawNode) rawNode.setAttribute("dojoGfxType", "line");}, {attachShape: function(rawNode){var p = rawNode.path.v.match(dojo.gfx.pathRegExp);var shape = {};do{if(p.length < 7 || p[0] != "m" || p[3] != "l" || p[6] != "e") break;shape.x1 = parseInt(p[1]);shape.y1 = parseInt(p[2]);shape.x2 = parseInt(p[4]);shape.y2 = parseInt(p[5]);}while(false);return dojo.gfx.makeParameters(dojo.gfx.defaultLine, shape);},setShape: function(newShape){var shape = this.shape = dojo.gfx.makeParameters(this.shape, newShape);this.bbox = null;this.rawNode.pa
 th.v = "m" + shape.x1.toFixed() + " " + shape.y1.toFixed() +
+"l" + shape.x2.toFixed() + " " + shape.y2.toFixed() + "e";return this.setTransform(this.matrix);}});dojo.gfx.Line.nodeType = "shape";dojo.declare("dojo.gfx.Polyline", dojo.gfx.shape.Polyline,function(rawNode){if(rawNode) rawNode.setAttribute("dojoGfxType", "polyline");}, {attachShape: function(rawNode){var shape = dojo.lang.shallowCopy(dojo.gfx.defaultPolyline, true);var p = rawNode.path.v.match(dojo.gfx.pathRegExp);do{if(p.length < 3 || p[0] != "m") break;var x = parseInt(p[0]);var y = parseInt(p[1]);if(isNaN(x) || isNaN(y)) break;shape.points.push({x: x, y: y});if(p.length < 6 || p[3] != "l") break;for(var i = 4; i < p.length; i += 2){x = parseInt(p[i]);y = parseInt(p[i + 1]);if(isNaN(x) || isNaN(y)) break;shape.points.push({x: x, y: y});}}while(false);return shape;},setShape: function(points, closed){if(points && points instanceof Array){this.shape = dojo.gfx.makeParameters(this.shape, { points: points });if(closed && this.shape.points.length) this.shape.points.push(this.
 shape.points[0]);}else{this.shape = dojo.gfx.makeParameters(this.shape, points);}
+this.bbox = null;var attr = [];var p = this.shape.points;if(p.length > 0){attr.push("m");attr.push(p[0].x.toFixed());attr.push(p[0].y.toFixed());if(p.length > 1){attr.push("l");for(var i = 1; i < p.length; ++i){attr.push(p[i].x.toFixed());attr.push(p[i].y.toFixed());}}
+}
+attr.push("e");this.rawNode.path.v = attr.join(" ");return this.setTransform(this.matrix);}});dojo.gfx.Polyline.nodeType = "shape";dojo.declare("dojo.gfx.Image", dojo.gfx.shape.Image,function(rawNode){if(rawNode) rawNode.setAttribute("dojoGfxType", "image");}, {getEventSource: function() {return this.rawNode ? this.rawNode.firstChild : null;},attachShape: function(rawNode){var shape = dojo.lang.shallowCopy(dojo.gfx.defaultImage, true);shape.src = rawNode.firstChild.src;return shape;},setShape: function(newShape){var shape = this.shape = dojo.gfx.makeParameters(this.shape, newShape);this.bbox = null;var firstChild = this.rawNode.firstChild;firstChild.src = shape.src;if(shape.width || shape.height){firstChild.style.width  = shape.width;firstChild.style.height = shape.height;}
+return this.setTransform(this.matrix);},setStroke: function(){return this;},setFill: function(){return this;},attachStroke: function(rawNode){return null;},attachFill: function(rawNode){return null;},attachTransform: function(rawNode) {var matrix = {};if(rawNode){var m = rawNode.filters["DXImageTransform.Microsoft.Matrix"];matrix.xx = m.M11;matrix.xy = m.M12;matrix.yx = m.M21;matrix.yy = m.M22;matrix.dx = m.Dx;matrix.dy = m.Dy;}
+return dojo.gfx.matrix.normalize(matrix);},_applyTransform: function() {var matrix = this._getRealMatrix();if(!matrix) return this;matrix = dojo.gfx.matrix.multiply(matrix, {dx: this.shape.x, dy: this.shape.y});var f = this.rawNode.filters["DXImageTransform.Microsoft.Matrix"];f.M11 = matrix.xx;f.M12 = matrix.xy;f.M21 = matrix.yx;f.M22 = matrix.yy;f.Dx  = matrix.dx;f.Dy  = matrix.dy;return this;}});dojo.gfx.Image.nodeType = "div";dojo.declare("dojo.gfx.Text", dojo.gfx.shape.Text,function(rawNode){if(rawNode) rawNode.setAttribute("dojoGfxType", "text");this.fontStyle = null;}, {attachShape: function(rawNode){var shape = null;if(rawNode){shape = dojo.lang.shallowCopy(dojo.gfx.defaultText, true);var p = rawNode.path.v.match(dojo.gfx.pathRegExp);if(!p || p.length != 7){ return null; }
+var c = rawNode.childNodes;for(var i = 0; i < c.length; ++i){if(c[i].tagName == "textpath"){var s = c[i].style;shape.text = c[i].string;switch(s["v-text-align"]){case "left":
+shape.x = parseInt(p[1]);shape.align = "start";break;case "center":
+shape.x = (parseInt(p[1]) + parseInt(p[4])) / 2;shape.align = "middle";break;case "right":
+shape.x = parseInt(p[4]);shape.align = "end";break;}
+shape.y = parseInt(p[2]);shape.decoration = s["text-decoration"];shape.rotated = s["v-rotate-letters"].toLowerCase() in dojo.gfx.vml._bool;shape.kerning = s["v-text-kern"].toLowerCase() in dojo.gfx.vml._bool;break;}}
+}
+return shape;},_alignment: {start: "left", middle: "center", end: "right"},setShape: function(newShape){this.shape = dojo.gfx.makeParameters(this.shape, newShape);this.bbox = null;var r = this.rawNode;var s = this.shape;var x = s.x;var y = s.y.toFixed();switch(s.align){case "middle":
+x -= 5;break;case "end":
+x -= 10;break;}
+this.rawNode.path.v = "m" + x.toFixed() + "," + y +
+"l" + (x + 10).toFixed() + "," + y + "e";var p = null, t = null;var c = r.childNodes;for(var i = 0; i < c.length; ++i){var tag = c[i].tagName;if(tag == "path"){p = c[i];if(t) break;}else if(tag == "textpath"){t = c[i];if(p) break;}}
+if(!p){p = document.createElement("v:path");r.appendChild(p);}
+if(!t){t = document.createElement("v:textpath");r.appendChild(t);}
+p.textPathOk = true;t.on = true;var a = this._alignment[s.align];t.style["v-text-align"] = a ? a : "left";t.style["text-decoration"] = s.decoration;t.style["v-rotate-letters"] = s.rotated;t.style["v-text-kern"] = s.kerning;t.string = s.text;return this.setTransform(this.matrix);},_setFont: function(){var f = this.fontStyle;var c = this.rawNode.childNodes;for(var i = 0; i < c.length; ++i){if(c[i].tagName == "textpath"){c[i].style.font = dojo.gfx.makeFontString(f);break;}}
+return this.setTransform(this.matrix);},attachFont: function(rawNode){if(!rawNode){ return null; }
+var fontStyle = dojo.lang.shallowCopy(dojo.gfx.defaultFont, true);var c = this.rawNode.childNodes;for(var i = 0; i < c.length; ++i){if(c[i].tagName == "textpath"){var s = c[i].style;fontStyle.style = s.fontstyle;fontStyle.variant = s.fontvariant;fontStyle.weight = s.fontweight;fontStyle.size = s.fontsize;fontStyle.family = s.fontfamily;break;}}
+return fontStyle;},attachTransform: function(rawNode) {var matrix = dojo.gfx.Shape.prototype.attachTransform.call(this);if(matrix){matrix = dojo.gfx.matrix.multiply(matrix, {dy: dojo.gfx.vml.normalizedLength(this.fontStyle.size) * 0.35});}
+return matrix;},_getRealMatrix: function(){var matrix = dojo.gfx.Shape.prototype._getRealMatrix.call(this);if(matrix){matrix = dojo.gfx.matrix.multiply(matrix,{dy: -dojo.gfx.vml.normalizedLength(this.fontStyle ? this.fontStyle.size : "10pt") * 0.35});}
+return matrix;}});dojo.gfx.Text.nodeType = "shape";dojo.gfx.path._calcArc = function(alpha){var cosa  = Math.cos(alpha);var sina  = Math.sin(alpha);var p2 = {x: cosa + (4 / 3) * (1 - cosa), y: sina - (4 / 3) * cosa * (1 - cosa) / sina};return {s:  {x: cosa, y: sina},c1: p2,c2: {x: p2.x, y: -p2.y},e:  {x: cosa, y: -sina}};};dojo.declare("dojo.gfx.Path", dojo.gfx.path.Path,function(rawNode){if(rawNode) rawNode.setAttribute("dojoGfxType", "path");this.vmlPath = "";this.lastControl = {};}, {_updateWithSegment: function(segment){var last = dojo.lang.shallowCopy(this.last);dojo.gfx.Path.superclass._updateWithSegment.apply(this, arguments);var path = this[this.renderers[segment.action]](segment, last);if(typeof(this.vmlPath) == "string"){this.vmlPath += path.join("");}else{this.vmlPath = this.vmlPath.concat(path);}
+if(typeof(this.vmlPath) == "string"){this.rawNode.path.v = this.vmlPath + " e";}},attachShape: function(rawNode){var shape = dojo.lang.shallowCopy(dojo.gfx.defaultPath, true);var p = rawNode.path.v.match(dojo.gfx.pathRegExp);var t = [], skip = false;for(var i = 0; i < p.length; ++p){var s = p[i];if(s in this._pathVmlToSvgMap) {skip = false;t.push(this._pathVmlToSvgMap[s]);} else if(!skip){var n = parseInt(s);if(isNaN(n)){skip = true;}else{t.push(n);}}
+}
+if(t.length) shape.path = t.join(" ");return shape;},setShape: function(newShape){this.vmlPath = [];this.lastControl = {};dojo.gfx.Path.superclass.setShape.apply(this, arguments);this.vmlPath = this.vmlPath.join("");this.rawNode.path.v = this.vmlPath + " e";return this;},_pathVmlToSvgMap: {m: "M", l: "L", t: "m", r: "l", c: "C", v: "c", qb: "Q", x: "z", e: ""},renderers: {M: "_moveToA", m: "_moveToR",L: "_lineToA", l: "_lineToR",H: "_hLineToA", h: "_hLineToR",V: "_vLineToA", v: "_vLineToR",C: "_curveToA", c: "_curveToR",S: "_smoothCurveToA", s: "_smoothCurveToR",Q: "_qCurveToA", q: "_qCurveToR",T: "_qSmoothCurveToA", t: "_qSmoothCurveToR",A: "_arcTo", a: "_arcTo",Z: "_closePath", z: "_closePath"
+},_addArgs: function(path, args, from, upto){if(typeof(upto) == "undefined"){upto = args.length;}
+if(typeof(from) == "undefined"){from = 0;}
+for(var i = from; i < upto; ++i){path.push(" ");path.push(args[i].toFixed());}},_addArgsAdjusted: function(path, last, args, from, upto){if(typeof(upto) == "undefined"){upto = args.length;}
+if(typeof(from) == "undefined"){from = 0;}
+for(var i = from; i < upto; i += 2){path.push(" ");path.push((last.x + args[i]).toFixed());path.push(" ");path.push((last.y + args[i + 1]).toFixed());}},_moveToA: function(segment){var p = [" m"];var n = segment.args;var l = n.length;if(l == 2){this._addArgs(p, n);}else{this._addArgs(p, n, 0, 2);p.push(" l");this._addArgs(p, n, 2);}
+this.lastControl = {};return p;},_moveToR: function(segment, last){var p = ["x" in last ? " t" : " m"];var n = segment.args;var l = n.length;if(l == 2){this._addArgs(p, n);}else{this._addArgs(p, n, 0, 2);p.push(" r");this._addArgs(p, n, 2);}
+this.lastControl = {};return p;},_lineToA: function(segment){var p = [" l"];this._addArgs(p, segment.args);this.lastControl = {};return p;},_lineToR: function(segment){var p = [" r"];this._addArgs(p, segment.args);this.lastControl = {};return p;},_hLineToA: function(segment, last){var p = [" l"];var n = segment.args;var l = n.length;var y = " " + last.y.toFixed();for(var i = 0; i < l; ++i){p.push(" ");p.push(n[i].toFixed());p.push(y);}
+this.lastControl = {};return p;},_hLineToR: function(segment){var p = [" r"];var n = segment.args;var l = n.length;for(var i = 0; i < l; ++i){p.push(" ");p.push(n[i].toFixed());p.push(" 0");}
+this.lastControl = {};return p;},_vLineToA: function(segment, last){var p = [" l"];var n = segment.args;var l = n.length;var x = " " + last.x.toFixed();for(var i = 0; i < l; ++i){p.push(x);p.push(" ");p.push(n[i].toFixed());}
+this.lastControl = {};return p;},_vLineToR: function(segment){var p = [" r"];var n = segment.args;var l = n.length;for(var i = 0; i < l; ++i){p.push(" 0 ");p.push(n[i].toFixed());}
+this.lastControl = {};return p;},_curveToA: function(segment){var p = [];var n = segment.args;var l = n.length;for(var i = 0; i < l; i += 6){p.push(" c");this._addArgs(p, n, i, i + 6);}
+this.lastControl = {x: n[l - 4], y: n[l - 3], type: "C"};return p;},_curveToR: function(segment, last){var p = [];var n = segment.args;var l = n.length;for(var i = 0; i < l; i += 6){p.push(" v");this._addArgs(p, n, i, i + 6);this.lastControl = {x: last.x + n[i + 2], y: last.y + n[i + 3]};last.x += n[i + 4];last.y += n[i + 5];}
+this.lastControl.type = "C";return p;},_smoothCurveToA: function(segment, last){var p = [];var n = segment.args;var l = n.length;for(var i = 0; i < l; i += 4){p.push(" c");if(this.lastControl.type == "C"){this._addArgs(p, [
+2 * last.x - this.lastControl.x,2 * last.y - this.lastControl.y
+]);}else{this._addArgs(p, [last.x, last.y]);}
+this._addArgs(p, n, i, i + 4);}
+this.lastControl = {x: n[l - 4], y: n[l - 3], type: "C"};return p;},_smoothCurveToR: function(segment, last){var p = [];var n = segment.args;var l = n.length;for(var i = 0; i < l; i += 4){p.push(" v");if(this.lastControl.type == "C"){this._addArgs(p, [
+last.x - this.lastControl.x,last.y - this.lastControl.y
+]);}else{this._addArgs(p, [0, 0]);}
+this._addArgs(p, n, i, i + 4);this.lastControl = {x: last.x + n[i], y: last.y + n[i + 1]};last.x += n[i + 2];last.y += n[i + 3];}
+this.lastControl.type = "C";return p;},_qCurveToA: function(segment){var p = [];var n = segment.args;var l = n.length;for(var i = 0; i < l; i += 4){p.push(" qb");this._addArgs(p, n, i, i + 4);}
+this.lastControl = {x: n[l - 4], y: n[l - 3], type: "Q"};return p;},_qCurveToR: function(segment, last){var p = [];var n = segment.args;var l = n.length;for(var i = 0; i < l; i += 4){p.push(" qb");this._addArgsAdjusted(p, last, n, i, i + 4);this.lastControl = {x: last.x + n[i], y: last.y + n[i + 1]};last.x += n[i + 2];last.y += n[i + 3];}
+this.lastControl.type = "Q";return p;},_qSmoothCurveToA: function(segment, last){var p = [];var n = segment.args;var l = n.length;for(var i = 0; i < l; i += 2){p.push(" qb");if(this.lastControl.type == "Q"){this._addArgs(p, [
+this.lastControl.x = 2 * last.x - this.lastControl.x,this.lastControl.y = 2 * last.y - this.lastControl.y
+]);}else{this._addArgs(p, [
+this.lastControl.x = last.x,this.lastControl.y = last.y
+]);}
+this._addArgs(p, n, i, i + 2);}
+this.lastControl.type = "Q";return p;},_qSmoothCurveToR: function(segment, last){var p = [];var n = segment.args;var l = n.length;for(var i = 0; i < l; i += 2){p.push(" qb");if(this.lastControl.type == "Q"){this._addArgs(p, [
+this.lastControl.x = 2 * last.x - this.lastControl.x,this.lastControl.y = 2 * last.y - this.lastControl.y
+]);}else{this._addArgs(p, [
+this.lastControl.x = last.x,this.lastControl.y = last.y
+]);}
+this._addArgsAdjusted(p, last, n, i, i + 2);}
+this.lastControl.type = "Q";return p;},_PI4: Math.PI / 4,_curvePI4: dojo.gfx.path._calcArc(Math.PI / 8),_calcArcTo: function(path, last, rx, ry, xRotg, large, cw, x, y){var m = dojo.gfx.matrix;var xRot = -dojo.math.degToRad(xRotg);var rx2 = rx * rx;var ry2 = ry * ry;var pa = m.multiplyPoint(
+m.rotate(-xRot),{x: (last.x - x) / 2, y: (last.y - y) / 2}
+);var pax2 = pa.x * pa.x;var pay2 = pa.y * pa.y;var c1 = Math.sqrt((rx2 * ry2 - rx2 * pay2 - ry2 * pax2) / (rx2 * pay2 + ry2 * pax2));var ca = {x:  c1 * rx * pa.y / ry,y: -c1 * ry * pa.x / rx
+};if(large == cw){ca = {x: -ca.x, y: -ca.y};}
+var c = m.multiplyPoint(
+[
+m.translate(
+(last.x + x) / 2,(last.y + y) / 2
+),m.rotate(xRot)
+],ca
+);var startAngle = Math.atan2(c.y - last.y, last.x - c.x) - xRot;var endAngle   = Math.atan2(c.y - y, x - c.x) - xRot;var theta = cw ? startAngle - endAngle : endAngle - startAngle;if(theta < 0){theta += this._2PI;}else if(theta > this._2PI){theta = this._2PI;}
+var elliptic_transform = m.normalize([
+m.translate(c.x, c.y),m.rotate(xRot),m.scale(rx, ry)
+]);var alpha = this._PI4 / 2;var curve = this._curvePI4;var step  = cw ? -alpha : alpha;for(var angle = theta; angle > 0; angle -= this._PI4){if(angle < this._PI4){alpha = angle / 2;curve = dojo.gfx.path._calcArc(alpha);step  = cw ? -alpha : alpha;}
+var c1, c2, e;var M = m.normalize([elliptic_transform, m.rotate(startAngle + step)]);if(cw){c1 = m.multiplyPoint(M, curve.c2);c2 = m.multiplyPoint(M, curve.c1);e  = m.multiplyPoint(M, curve.s );}else{c1 = m.multiplyPoint(M, curve.c1);c2 = m.multiplyPoint(M, curve.c2);e  = m.multiplyPoint(M, curve.e );}
+path.push(" c");this._addArgs(path, [c1.x, c1.y, c2.x, c2.y, e.x, e.y]);startAngle += 2 * step;}},_arcTo: function(segment, last){var p = [];var n = segment.args;var l = n.length;var relative = segment.action == "a";for(var i = 0; i < l; i += 7){var x1 = n[i + 5];var y1 = n[i + 6];if(relative){x1 += last.x;y1 += last.y;}
+this._calcArcTo(
+p, last, n[i], n[i + 1], n[i + 2],n[i + 3] ? 1 : 0, n[i + 4] ? 1 : 0,x1, y1
+);last = {x: x1, y: y1};}
+this.lastControl = {};return p;},_closePath: function(){this.lastControl = {};return ["x"];}});dojo.gfx.Path.nodeType = "shape";dojo.gfx.vml._creators = {createPath: function(path){return this.createObject(dojo.gfx.Path, path, true);},createRect: function(rect){return this.createObject(dojo.gfx.Rect, rect);},createCircle: function(circle){return this.createObject(dojo.gfx.Circle, circle);},createEllipse: function(ellipse){return this.createObject(dojo.gfx.Ellipse, ellipse);},createLine: function(line){return this.createObject(dojo.gfx.Line, line, true);},createPolyline: function(points){return this.createObject(dojo.gfx.Polyline, points, true);},createImage: function(image){if(!this.rawNode) return null;var shape = new dojo.gfx.Image();var node = document.createElement('div');node.style.position = "absolute";node.style.width  = this.rawNode.style.width;node.style.height = this.rawNode.style.height;node.style.filter = "progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=0, M2
 1=0, M22=1, Dx=0, Dy=0)";var img  = document.createElement('img');node.appendChild(img);shape.setRawNode(node);this.rawNode.appendChild(node);shape.setShape(image);this.add(shape);return shape;},createText: function(text){return this.createObject(dojo.gfx.Text, text, true);},createGroup: function(){return this.createObject(dojo.gfx.Group, null, true);},createObject: function(shapeType, rawShape, overrideSize) {if(!this.rawNode) return null;var shape = new shapeType();var node = document.createElement('v:' + shapeType.nodeType);shape.setRawNode(node);this.rawNode.appendChild(node);if(overrideSize) this._overrideSize(node);shape.setShape(rawShape);this.add(shape);return shape;},_overrideSize: function(node){node.style.width  = this.rawNode.style.width;node.style.height = this.rawNode.style.height;node.coordsize = parseFloat(node.style.width) + " " + parseFloat(node.style.height);}};dojo.lang.extend(dojo.gfx.Group, dojo.gfx.vml._creators);dojo.lang.extend(dojo.gfx.Surface, dojo
 .gfx.vml._creators);delete dojo.gfx.vml._creators;dojo.gfx.attachNode = function(node){if(!node) return null;var s = null;switch(node.tagName.toLowerCase()){case dojo.gfx.Rect.nodeType:
+s = new dojo.gfx.Rect();break;case dojo.gfx.Ellipse.nodeType:
+s = (node.style.width == node.style.height)
+? new dojo.gfx.Circle()
+: new dojo.gfx.Ellipse();break;case dojo.gfx.Path.nodeType:
+switch(node.getAttribute("dojoGfxType")){case "line":
+s = new dojo.gfx.Line();break;case "polyline":
+s = new dojo.gfx.Polyline();break;case "path":
+s = new dojo.gfx.Path();break;case "text":
+s = new dojo.gfx.Text();break;}
+break;case dojo.gfx.Image.nodeType:
+switch(node.getAttribute("dojoGfxType")){case "image":
+s = new dojo.gfx.Image();break;}
+break;default:
+dojo.debug("FATAL ERROR! tagName = " + node.tagName);return null;}
+s.attach(node);return s;};dojo.lang.extend(dojo.gfx.Surface, {setDimensions: function(width, height){if(!this.rawNode) return this;this.rawNode.style.width = width;this.rawNode.style.height = height;this.rawNode.coordsize = width + " " + height;this.bgNode.style.width = width;this.bgNode.style.height = height;return this;},getDimensions: function(){return this.rawNode ? { width: this.rawNode.style.width, height: this.rawNode.style.height } : null;},add: function(shape){var oldParent = shape.getParent();if(this != oldParent){this.rawNode.appendChild(shape.rawNode);if(oldParent){oldParent.remove(shape, true);}
+shape._setParent(this, null);}
+return this;},remove: function(shape, silently){if(this == shape.getParent()){if(this.rawNode == shape.rawNode.parentNode){this.rawNode.removeChild(shape.rawNode);}
+shape._setParent(null, null);}
+return this;},clear: function(){var r = this.rawNode;while(r.lastChild){r.removeChild(r.lastChild);}
+return this;}});dojo.gfx.createSurface = function(parentNode, width, height){var s = new dojo.gfx.Surface();s.rawNode = document.createElement("v:group");s.rawNode.style.width  = width  ? width  : "100%";s.rawNode.style.height = height ? height : "100%";s.rawNode.coordsize = (width && height)
+? (parseFloat(width) + " " + parseFloat(height))
+: "100% 100%";s.rawNode.coordorigin = "0 0";dojo.byId(parentNode).appendChild(s.rawNode);var r = document.createElement("v:rect");r.style.left = r.style.top = 0;r.style.width  = s.rawNode.style.width;r.style.height = s.rawNode.style.height;r.filled = r.stroked = false;s.rawNode.appendChild(r);s.bgNode = r;return s;};dojo.gfx.attachSurface = function(node){var s = new dojo.gfx.Surface();s.rawNode = node;var r = node.firstChild;if(!r || r.tagName != "rect"){return null;}
+s.bgNode = r;return s;};
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/gfx/vml.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/hostenv_adobesvg.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/hostenv_adobesvg.js?view=auto&rev=498423
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/hostenv_adobesvg.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/hostenv_adobesvg.js Sun Jan 21 10:25:59 2007
@@ -0,0 +1,68 @@
+
+if(typeof window == 'undefined'){dojo.raise("attempt to use adobe svg hostenv when no window object");}
+with(dojo.render){name = navigator.appName;ver = parseFloat(navigator.appVersion, 10);switch(navigator.platform){case "MacOS":
+os.osx =  true;break;case "Linux":
+os.linux =  true;break;case "Windows":
+os.win =  true;break;default:
+os.linux = true;break;};svg.capable = true;svg.support.builtin = true;svg.adobe = true;};dojo.hostenv.println = function(s){try{var ti = document.createElement("text");ti.setAttribute("x","50");var yPos = 25 + 15*document.getElementsByTagName("text").length;ti.setAttribute("y",yPos);var tn = document.createTextNode(s);ti.appendChild(tn);document.documentElement.appendChild(ti);}catch(e){}}
+dojo.debug = function() {if (!djConfig.isDebug) { return; }
+var args = arguments;if(typeof dojo.hostenv.println != 'function'){dojo.raise("attempt to call dojo.debug when there is no dojo.hostenv println implementation (yet?)");}
+var isJUM = dj_global["jum"];var s = isJUM ? "": "DEBUG: ";for(var i=0;i<args.length;++i){ s += args[i]; }
+if(isJUM){jum.debug(s);}else{dojo.hostenv.println(s);}}
+dojo.hostenv.startPackage("dojo.hostenv");dojo.hostenv.name_ = 'adobesvg';dojo.hostenv.anonCtr = 0;dojo.hostenv.anon = {};dojo.hostenv.nameAnonFunc = function(anonFuncPtr, namespaceObj){var ret = "_"+this.anonCtr++;var nso = (namespaceObj || this.anon);while(typeof nso[ret] != "undefined"){ret = "_"+this.anonCtr++;}
+nso[ret] = anonFuncPtr;return ret;}
+dojo.hostenv.modulesLoadedFired = false;dojo.hostenv.modulesLoadedListeners = [];dojo.hostenv.getTextStack = [];dojo.hostenv.loadUriStack = [];dojo.hostenv.loadedUris = [];dojo.hostenv.modulesLoaded = function(){if(this.modulesLoadedFired){ return; }
+if((this.loadUriStack.length==0)&&(this.getTextStack.length==0)){if(this.inFlightCount > 0){dojo.debug("couldn't initialize, there are files still in flight");return;}
+this.modulesLoadedFired = true;var mll = this.modulesLoadedListeners;for(var x=0; x<mll.length; x++){mll[x]();}}
+}
+dojo.hostenv.getNewAnonFunc = function(){var ret = "_"+this.anonCtr++;while(typeof this.anon[ret] != "undefined"){ret = "_"+this.anonCtr++;}
+eval("dojo.nostenv.anon."+ret+" = function(){};");return [ret, this.anon[ret]];}
+dojo.hostenv.displayStack = function(){var oa = [];var stack = this.loadUriStack;for(var x=0; x<stack.length; x++){oa.unshift([stack[x][0], (typeof stack[x][2])]);}
+dojo.debug("<pre>"+oa.join("\n")+"</pre>");}
+dojo.hostenv.unwindUriStack = function(){var stack = this.loadUriStack;for(var x in dojo.hostenv.loadedUris){for(var y=stack.length-1; y>=0; y--){if(stack[y][0]==x){stack.splice(y, 1);}}
+}
+var next = stack.pop();if((!next)&&(stack.length==0)){return;}
+for(var x=0; x<stack.length; x++){if((stack[x][0]==next[0])&&(stack[x][2])){next[2] == stack[x][2]
+}}
+var last = next;while(dojo.hostenv.loadedUris[next[0]]){last = next;next = stack.pop();}
+while(typeof next[2] == "string"){try{dj_eval(next[2]);next[1](true);}catch(e){dojo.debug("we got an error when loading "+next[0]);dojo.debug("error: "+e);}
+dojo.hostenv.loadedUris[next[0]] = true;dojo.hostenv.loadedUris.push(next[0]);last = next;next = stack.pop();if((!next)&&(stack.length==0)){ break; }
+while(dojo.hostenv.loadedUris[next[0]]){last = next;next = stack.pop();}}
+if(next){stack.push(next);dojo.debug("### CHOKED ON: "+next[0]);}}
+dojo.hostenv.loadUri = function(uri, cb){if(dojo.hostenv.loadedUris[uri]){return;}
+var stack = this.loadUriStack;stack.push([uri, cb, null]);var tcb = function(contents){if(contents.content){contents = contents.content;}
+var next = stack.pop();if((!next)&&(stack.length==0)){dojo.hostenv.modulesLoaded();return;}
+if(typeof contents == "string"){stack.push(next);for(var x=0; x<stack.length; x++){if(stack[x][0]==uri){stack[x][2] = contents;}}
+next = stack.pop();}
+if(dojo.hostenv.loadedUris[next[0]]){dojo.hostenv.unwindUriStack();return;}
+stack.push(next);if(next[0]!=uri){if(typeof next[2] == "string"){dojo.hostenv.unwindUriStack();}}else{if(!contents){next[1](false);}else{var deps = dojo.hostenv.getDepsForEval(next[2]);if(deps.length>0){eval(deps.join(";"));}else{dojo.hostenv.unwindUriStack();}}
+}}
+this.getText(uri, tcb, true);}
+dojo.hostenv.loadModule = function(modulename, exact_only, omit_module_check){var module = this.findModule(modulename, 0);if(module){return module;}
+if (typeof this.loading_modules_[modulename] !== 'undefined'){dojo.debug("recursive attempt to load module '" + modulename + "'");}else{this.addedToLoadingCount.push(modulename);}
+this.loading_modules_[modulename] = 1;var relpath = modulename.replace(/\./g, '/') + '.js';var syms = modulename.split(".");var nsyms = modulename.split(".");if(syms[0]=="dojo"){syms[0] = "src";}
+var last = syms.pop();syms.push(last);var _this = this;var pfn = this.pkgFileName;if(last=="*"){modulename = (nsyms.slice(0, -1)).join('.');var module = this.findModule(modulename, 0);if(module){_this.removedFromLoadingCount.push(modulename);return module;}
+var nextTry = function(lastStatus){if(lastStatus){module = _this.findModule(modulename, false);if((!module)&&(syms[syms.length-1]!=pfn)){dojo.raise("Module symbol '" + modulename + "' is not defined after loading '" + relpath + "'");}
+if(module){_this.removedFromLoadingCount.push(modulename);dojo.hostenv.modulesLoaded();return;}}
+syms.pop();syms.push(pfn);relpath = syms.join("/") + '.js';if(relpath.charAt(0)=="/"){relpath = relpath.slice(1);}
+_this.loadPath(relpath, ((!omit_module_check) ? modulename : null), nextTry);}
+nextTry();}else{relpath = syms.join("/") + '.js';modulename = nsyms.join('.');var nextTry = function(lastStatus){if(lastStatus){module = _this.findModule(modulename, false);if((!module)&&(syms[syms.length-1]!=pfn)){dojo.raise("Module symbol '" + modulename + "' is not defined after loading '" + relpath + "'");}
+if(module){_this.removedFromLoadingCount.push(modulename);dojo.hostenv.modulesLoaded();return;}}
+var setPKG = (syms[syms.length-1]==pfn) ? false : true;syms.pop();if(setPKG){syms.push(pfn);}
+relpath = syms.join("/") + '.js';if(relpath.charAt(0)=="/"){relpath = relpath.slice(1);}
+_this.loadPath(relpath, ((!omit_module_check) ? modulename : null), nextTry);}
+this.loadPath(relpath, ((!omit_module_check) ? modulename : null), nextTry);}
+return;}
+dojo.hostenv.async_cb = null;dojo.hostenv.unWindGetTextStack = function(){if(dojo.hostenv.inFlightCount>0){setTimeout("dojo.hostenv.unWindGetTextStack()", 100);return;}
+dojo.hostenv.inFlightCount++;var next = dojo.hostenv.getTextStack.pop();if((!next)&&(dojo.hostenv.getTextStack.length==0)){dojo.hostenv.inFlightCount--;dojo.hostenv.async_cb = function(){};return;}
+dojo.hostenv.async_cb = next[1];window.getURL(next[0], function(result){dojo.hostenv.inFlightCount--;dojo.hostenv.async_cb(result.content);dojo.hostenv.unWindGetTextStack();});}
+dojo.hostenv.getText = function(uri, async_cb, fail_ok){try{if(async_cb){dojo.hostenv.getTextStack.push([uri, async_cb, fail_ok]);dojo.hostenv.unWindGetTextStack();}else{return dojo.raise("No synchronous XMLHTTP implementation available, for uri " + uri);}}catch(e){return dojo.raise("No XMLHTTP implementation available, for uri " + uri);}}
+dojo.hostenv.postText = function(uri, async_cb, text, fail_ok, mime_type, encoding){var http = null;var async_callback = function(httpResponse){if (!httpResponse.success) {dojo.raise("Request for uri '" + uri + "' resulted in " + httpResponse.status);}
+if(!httpResponse.content) {if (!fail_ok) dojo.raise("Request for uri '" + uri + "' resulted in no content");return null;}
+async_cb(httpResponse.content);}
+try {if(async_cb) {http = window.postURL(uri, text, async_callback, mimeType, encoding);} else {return dojo.raise("No synchronous XMLHTTP post implementation available, for uri " + uri);}} catch(e) {return dojo.raise("No XMLHTTP post implementation available, for uri " + uri);}}
+function dj_last_script_src() {var scripts = window.document.getElementsByTagName('script');if(scripts.length < 1){dojo.raise("No script elements in window.document, so can't figure out my script src");}
+var li = scripts.length-1;var xlinkNS = "http://www.w3.org/1999/xlink";var src = null;var script = null;while(!src){script = scripts.item(li);src = script.getAttributeNS(xlinkNS,"href");li--;if(li<0){ break; }}
+if(!src){dojo.raise("Last script element (out of " + scripts.length + ") has no src");}
+return src;}
+if(!dojo.hostenv["library_script_uri_"]){dojo.hostenv.library_script_uri_ = dj_last_script_src();}

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/hostenv_adobesvg.js
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message