a:92:{s:9:"#provides";s:16:"dojox.gfx.canvas";s:9:"#resource";s:13:"gfx/canvas.js";s:9:"#requires";a:5:{i:0;a:2:{i:0;s:6:"common";i:1;s:15:"dojox.gfx._base";}i:1;a:2:{i:0;s:6:"common";i:1;s:15:"dojox.gfx.shape";}i:2;a:2:{i:0;s:6:"common";i:1;s:14:"dojox.gfx.path";}i:3;a:2:{i:0;s:6:"common";i:1;s:13:"dojox.gfx.arc";}i:4;a:2:{i:0;s:6:"common";i:1;s:19:"dojox.gfx.decompose";}}s:15:"dojox.gfx.Group";a:5:{s:4:"type";s:8:"Function";s:6:"chains";a:2:{s:9:"prototype";a:1:{i:0;s:7:"g.Shape";}s:4:"call";a:2:{i:0;s:7:"g.Shape";i:1;s:18:"gs.Container._init";}}s:7:"summary";s:97:"a group shape (Canvas), which can be used to logically group shapes (e.g, to propagate matricies)";s:6:"source";s:33:" gs.Container._init.call(this);";s:9:"classlike";b:1;}s:23:"dojox.gfx.Group._render";a:6:{s:9:"prototype";s:15:"dojox.gfx.Group";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:3:"ctx";a:1:{s:4:"type";s:6:"Object";}}s:6:"source";s:207:" ctx.save(); this._renderTransform(ctx); this._renderFill(ctx); this._renderStroke(ctx); for(var i = 0; i < this.children.length; ++i){ this.children[i]._render(ctx); } ctx.restore();";s:7:"summary";s:16:"render the group";s:7:"private";b:1;}s:14:"dojox.gfx.Rect";a:4:{s:4:"type";s:8:"Function";s:6:"chains";a:2:{s:9:"prototype";a:1:{i:0;s:7:"gs.Rect";}s:4:"call";a:1:{i:0;s:7:"gs.Rect";}}s:7:"summary";s:26:"a rectangle shape (Canvas)";s:9:"classlike";b:1;}s:27:"dojox.gfx.Rect._renderShape";a:6:{s:9:"prototype";s:14:"dojox.gfx.Rect";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:3:"ctx";a:1:{s:4:"type";s:6:"Object";}}s:6:"source";s:560:" var s = this.shape, r = Math.min(s.r, s.height / 2, s.width / 2), xl = s.x, xr = xl + s.width, yt = s.y, yb = yt + s.height, xl2 = xl + r, xr2 = xr - r, yt2 = yt + r, yb2 = yb - r; ctx.beginPath(); ctx.moveTo(xl2, yt); if(r){ ctx.arc(xr2, yt2, r, -halfPI, 0, false); ctx.arc(xr2, yb2, r, 0, halfPI, false); ctx.arc(xl2, yb2, r, halfPI, pi, false); ctx.arc(xl2, yt2, r, pi, halfPI, false); }else{ ctx.lineTo(xr2, yt); ctx.lineTo(xr, yb2); ctx.lineTo(xl2, yb); ctx.lineTo(xl, yt2); } ctx.closePath();";s:7:"private";b:1;s:7:"summary";s:0:"";}s:17:"dojox.gfx.Ellipse";a:4:{s:4:"type";s:8:"Function";s:6:"chains";a:2:{s:9:"prototype";a:1:{i:0;s:10:"gs.Ellipse";}s:4:"call";a:1:{i:0;s:10:"gs.Ellipse";}}s:7:"summary";s:25:"an ellipse shape (Canvas)";s:9:"classlike";b:1;}s:26:"dojox.gfx.Ellipse.setShape";a:5:{s:9:"prototype";s:17:"dojox.gfx.Ellipse";s:4:"type";s:8:"Function";s:6:"source";s:517:" g.Ellipse.superclass.setShape.apply(this, arguments); // prepare Canvas-specific structures var s = this.shape, t, c1, c2, r = [], M = m.normalize([m.translate(s.cx, s.cy), m.scale(s.rx, s.ry)]); t = mp(M, bezierCircle[0]); r.push([t.x, t.y]); for(var i = 1; i < bezierCircle.length; i += 3){ c1 = mp(M, bezierCircle[i]); c2 = mp(M, bezierCircle[i + 1]); t = mp(M, bezierCircle[i + 2]); r.push([c1.x, c1.y, c2.x, c2.y, t.x, t.y]); } this.canvasEllipse = r; return this;";s:6:"chains";a:1:{s:4:"call";a:1:{i:0;s:29:"g.Ellipse.superclass.setShape";}}s:7:"summary";s:0:"";}s:30:"dojox.gfx.Ellipse._renderShape";a:7:{s:9:"prototype";s:17:"dojox.gfx.Ellipse";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:3:"ctx";a:1:{s:4:"type";s:6:"Object";}}s:6:"source";s:185:" var r = this.canvasEllipse; ctx.beginPath(); ctx.moveTo.apply(ctx, r[0]); for(var i = 1; i < r.length; ++i){ ctx.bezierCurveTo.apply(ctx, r[i]); } ctx.closePath();";s:6:"chains";a:1:{s:4:"call";a:2:{i:0;s:10:"ctx.moveTo";i:1;s:17:"ctx.bezierCurveTo";}}s:7:"private";b:1;s:7:"summary";s:0:"";}s:31:"dojox.gfx.Ellipse.canvasEllipse";a:2:{s:8:"instance";s:17:"dojox.gfx.Ellipse";s:7:"summary";s:0:"";}s:16:"dojox.gfx.Circle";a:4:{s:4:"type";s:8:"Function";s:6:"chains";a:2:{s:9:"prototype";a:1:{i:0;s:9:"gs.Circle";}s:4:"call";a:1:{i:0;s:9:"gs.Circle";}}s:7:"summary";s:23:"a circle shape (Canvas)";s:9:"classlike";b:1;}s:29:"dojox.gfx.Circle._renderShape";a:6:{s:9:"prototype";s:16:"dojox.gfx.Circle";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:3:"ctx";a:1:{s:4:"type";s:6:"Object";}}s:6:"source";s:84:" var s = this.shape; ctx.beginPath(); ctx.arc(s.cx, s.cy, s.r, 0, twoPI, 1);";s:7:"private";b:1;s:7:"summary";s:0:"";}s:14:"dojox.gfx.Line";a:4:{s:4:"type";s:8:"Function";s:6:"chains";a:2:{s:9:"prototype";a:1:{i:0;s:7:"gs.Line";}s:4:"call";a:1:{i:0;s:7:"gs.Line";}}s:7:"summary";s:21:"a line shape (Canvas)";s:9:"classlike";b:1;}s:27:"dojox.gfx.Line._renderShape";a:6:{s:9:"prototype";s:14:"dojox.gfx.Line";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:3:"ctx";a:1:{s:4:"type";s:6:"Object";}}s:6:"source";s:96:" var s = this.shape; ctx.beginPath(); ctx.moveTo(s.x1, s.y1); ctx.lineTo(s.x2, s.y2);";s:7:"private";b:1;s:7:"summary";s:0:"";}s:18:"dojox.gfx.Polyline";a:4:{s:4:"type";s:8:"Function";s:6:"chains";a:2:{s:9:"prototype";a:1:{i:0;s:11:"gs.Polyline";}s:4:"call";a:1:{i:0;s:11:"gs.Polyline";}}s:7:"summary";s:33:"a polyline/polygon shape (Canvas)";s:9:"classlike";b:1;}s:27:"dojox.gfx.Polyline.setShape";a:5:{s:9:"prototype";s:18:"dojox.gfx.Polyline";s:4:"type";s:8:"Function";s:6:"source";s:529:" g.Polyline.superclass.setShape.apply(this, arguments); // dojo.inherited("setShape", arguments); // prepare Canvas-specific structures var p = this.shape.points, f = p[0], r = [], c, i; if(p.length){ if(typeof f == "number"){ r.push(f, p[1]); i = 2; }else{ r.push(f.x, f.y); i = 1; } for(; i < p.length; ++i){ c = p[i]; if(typeof c == "number"){ r.push(c, p[++i]); }else{ r.push(c.x, c.y); } } } this.canvasPolyline = r; return this;";s:6:"chains";a:1:{s:4:"call";a:1:{i:0;s:30:"g.Polyline.superclass.setShape";}}s:7:"summary";s:0:"";}s:31:"dojox.gfx.Polyline._renderShape";a:6:{s:9:"prototype";s:18:"dojox.gfx.Polyline";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:3:"ctx";a:1:{s:4:"type";s:6:"Object";}}s:6:"source";s:7370:"dojo.provide("dojox.gfx.canvas"); dojo.require("dojox.gfx._base"); dojo.require("dojox.gfx.shape"); dojo.require("dojox.gfx.path"); dojo.require("dojox.gfx.arc"); dojo.require("dojox.gfx.decompose"); dojo.experimental("dojox.gfx.canvas"); (function(){ var g = dojox.gfx, gs = g.shape, ga = g.arc, m = g.matrix, mp = m.multiplyPoint, pi = Math.PI, twoPI = 2 * pi, halfPI = pi /2; dojo.extend(g.Shape, { _render: function(/* Object */ ctx){ // summary: render the shape ctx.save(); this._renderTransform(ctx); this._renderShape(ctx); this._renderFill(ctx, true); this._renderStroke(ctx, true); ctx.restore(); }, _renderTransform: function(/* Object */ ctx){ if("canvasTransform" in this){ var t = this.canvasTransform; ctx.translate(t.dx, t.dy); ctx.rotate(t.angle2); ctx.scale(t.sx, t.sy); ctx.rotate(t.angle1); // The future implementation when vendors catch up with the spec: // var t = this.matrix; // ctx.transform(t.xx, t.yx, t.xy, t.yy, t.dx, t.dy); } }, _renderShape: function(/* Object */ ctx){ // nothing }, _renderFill: function(/* Object */ ctx, /* Boolean */ apply){ if("canvasFill" in this){ if("canvasFillImage" in this){ this.canvasFill = ctx.createPattern(this.canvasFillImage, "repeat"); delete this.canvasFillImage; } ctx.fillStyle = this.canvasFill; if(apply){ ctx.fill(); } }else{ ctx.fillStyle = "rgba(0,0,0,0.0)"; } }, _renderStroke: function(/* Object */ ctx, /* Boolean */ apply){ var s = this.strokeStyle; if(s){ ctx.strokeStyle = s.color.toString(); ctx.lineWidth = s.width; ctx.lineCap = s.cap; if(typeof s.join == "number"){ ctx.lineJoin = "miter"; ctx.miterLimit = s.join; }else{ ctx.lineJoin = s.join; } if(apply){ ctx.stroke(); } }else if(!apply){ ctx.strokeStyle = "rgba(0,0,0,0.0)"; } }, // events are not implemented getEventSource: function(){ return null; }, connect: function(){}, disconnect: function(){} }); var modifyMethod = function(shape, method, extra){ var old = shape.prototype[method]; shape.prototype[method] = extra ? function(){ this.surface.makeDirty(); old.apply(this, arguments); extra.call(this); return this; } : function(){ this.surface.makeDirty(); return old.apply(this, arguments); }; }; modifyMethod(g.Shape, "setTransform", function(){ // prepare Canvas-specific structures if(this.matrix){ this.canvasTransform = g.decompose(this.matrix); }else{ delete this.canvasTransform; } }); modifyMethod(g.Shape, "setFill", function(){ // prepare Canvas-specific structures var fs = this.fillStyle, f; if(fs){ if(typeof(fs) == "object" && "type" in fs){ var ctx = this.surface.rawNode.getContext("2d"); switch(fs.type){ case "linear": case "radial": f = fs.type == "linear" ? ctx.createLinearGradient(fs.x1, fs.y1, fs.x2, fs.y2) : ctx.createRadialGradient(fs.cx, fs.cy, 0, fs.cx, fs.cy, fs.r); dojo.forEach(fs.colors, function(step){ f.addColorStop(step.offset, g.normalizeColor(step.color).toString()); }); break; case "pattern": var img = new Image(fs.width, fs.height); this.surface.downloadImage(img, fs.src); this.canvasFillImage = img; } }else{ // Set fill color using CSS RGBA func style f = fs.toString(); } this.canvasFill = f; }else{ delete this.canvasFill; } }); modifyMethod(g.Shape, "setStroke"); modifyMethod(g.Shape, "setShape"); dojo.declare("dojox.gfx.Group", g.Shape, { // summary: a group shape (Canvas), which can be used // to logically group shapes (e.g, to propagate matricies) constructor: function(){ gs.Container._init.call(this); }, _render: function(/* Object */ ctx){ // summary: render the group ctx.save(); this._renderTransform(ctx); this._renderFill(ctx); this._renderStroke(ctx); for(var i = 0; i < this.children.length; ++i){ this.children[i]._render(ctx); } ctx.restore(); } }); dojo.declare("dojox.gfx.Rect", gs.Rect, { // summary: a rectangle shape (Canvas) _renderShape: function(/* Object */ ctx){ var s = this.shape, r = Math.min(s.r, s.height / 2, s.width / 2), xl = s.x, xr = xl + s.width, yt = s.y, yb = yt + s.height, xl2 = xl + r, xr2 = xr - r, yt2 = yt + r, yb2 = yb - r; ctx.beginPath(); ctx.moveTo(xl2, yt); if(r){ ctx.arc(xr2, yt2, r, -halfPI, 0, false); ctx.arc(xr2, yb2, r, 0, halfPI, false); ctx.arc(xl2, yb2, r, halfPI, pi, false); ctx.arc(xl2, yt2, r, pi, halfPI, false); }else{ ctx.lineTo(xr2, yt); ctx.lineTo(xr, yb2); ctx.lineTo(xl2, yb); ctx.lineTo(xl, yt2); } ctx.closePath(); } }); var bezierCircle = []; (function(){ var u = ga.curvePI4; bezierCircle.push(u.s, u.c1, u.c2, u.e); for(var a = 45; a < 360; a += 45){ var r = m.rotateg(a); bezierCircle.push(mp(r, u.c1), mp(r, u.c2), mp(r, u.e)); } })(); dojo.declare("dojox.gfx.Ellipse", gs.Ellipse, { // summary: an ellipse shape (Canvas) setShape: function(){ g.Ellipse.superclass.setShape.apply(this, arguments); // prepare Canvas-specific structures var s = this.shape, t, c1, c2, r = [], M = m.normalize([m.translate(s.cx, s.cy), m.scale(s.rx, s.ry)]); t = mp(M, bezierCircle[0]); r.push([t.x, t.y]); for(var i = 1; i < bezierCircle.length; i += 3){ c1 = mp(M, bezierCircle[i]); c2 = mp(M, bezierCircle[i + 1]); t = mp(M, bezierCircle[i + 2]); r.push([c1.x, c1.y, c2.x, c2.y, t.x, t.y]); } this.canvasEllipse = r; return this; }, _renderShape: function(/* Object */ ctx){ var r = this.canvasEllipse; ctx.beginPath(); ctx.moveTo.apply(ctx, r[0]); for(var i = 1; i < r.length; ++i){ ctx.bezierCurveTo.apply(ctx, r[i]); } ctx.closePath(); } }); dojo.declare("dojox.gfx.Circle", gs.Circle, { // summary: a circle shape (Canvas) _renderShape: function(/* Object */ ctx){ var s = this.shape; ctx.beginPath(); ctx.arc(s.cx, s.cy, s.r, 0, twoPI, 1); } }); dojo.declare("dojox.gfx.Line", gs.Line, { // summary: a line shape (Canvas) _renderShape: function(/* Object */ ctx){ var s = this.shape; ctx.beginPath(); ctx.moveTo(s.x1, s.y1); ctx.lineTo(s.x2, s.y2); } }); dojo.declare("dojox.gfx.Polyline", gs.Polyline, { // summary: a polyline/polygon shape (Canvas) setShape: function(){ g.Polyline.superclass.setShape.apply(this, arguments); // dojo.inherited("setShape", arguments); // prepare Canvas-specific structures var p = this.shape.points, f = p[0], r = [], c, i; if(p.length){ if(typeof f == "number"){ r.push(f, p[1]); i = 2; }else{ r.push(f.x, f.y); i = 1; } for(; i < p.length; ++i){ c = p[i]; if(typeof c == "number"){ r.push(c, p[++i]); }else{ r.push(c.x, c.y); } } } this.canvasPolyline = r; return this; }, _renderShape: function(/* Object */ ctx){ // console.debug("Polyline::_renderShape"); var p = this.canvasPolyline; if(p.length){ ctx.beginPath(); ctx.moveTo(p[0], p[1]); for(var i = 2; i < p.length; i += 2){ ctx.lineTo(p[i], p[i + 1]); } }";s:7:"private";b:1;s:7:"summary";s:0:"";}s:33:"dojox.gfx.Polyline.canvasPolyline";a:2:{s:8:"instance";s:18:"dojox.gfx.Polyline";s:7:"summary";s:0:"";}s:15:"dojox.gfx.Image";a:4:{s:4:"type";s:8:"Function";s:6:"chains";a:2:{s:9:"prototype";a:1:{i:0;s:8:"gs.Image";}s:4:"call";a:1:{i:0;s:8:"gs.Image";}}s:7:"summary";s:23:"an image shape (Canvas)";s:9:"classlike";b:1;}s:24:"dojox.gfx.Image.setShape";a:5:{s:9:"prototype";s:15:"dojox.gfx.Image";s:4:"type";s:8:"Function";s:6:"source";s:216:" g.Image.superclass.setShape.apply(this, arguments); // prepare Canvas-specific structures var img = new Image(); this.surface.downloadImage(img, this.shape.src); this.canvasImage = img; return this;";s:6:"chains";a:1:{s:4:"call";a:1:{i:0;s:27:"g.Image.superclass.setShape";}}s:7:"summary";s:0:"";}s:28:"dojox.gfx.Image._renderShape";a:6:{s:9:"prototype";s:15:"dojox.gfx.Image";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:3:"ctx";a:1:{s:4:"type";s:6:"Object";}}s:6:"source";s:87:" var s = this.shape; ctx.drawImage(this.canvasImage, s.x, s.y, s.width, s.height);";s:7:"private";b:1;s:7:"summary";s:0:"";}s:27:"dojox.gfx.Image.canvasImage";a:2:{s:8:"instance";s:15:"dojox.gfx.Image";s:7:"summary";s:0:"";}s:14:"dojox.gfx.Text";a:4:{s:4:"type";s:8:"Function";s:6:"chains";a:2:{s:9:"prototype";a:1:{i:0;s:7:"gs.Text";}s:4:"call";a:1:{i:0;s:7:"gs.Text";}}s:7:"summary";s:21:"a text shape (Canvas)";s:9:"classlike";b:1;}s:27:"dojox.gfx.Text._renderShape";a:6:{s:9:"prototype";s:14:"dojox.gfx.Text";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:3:"ctx";a:1:{s:4:"type";s:6:"Object";}}s:6:"source";s:51:" var s = this.shape; // nothing for the moment";s:7:"private";b:1;s:7:"summary";s:0:"";}s:14:"dojox.gfx.Path";a:5:{s:4:"type";s:8:"Function";s:6:"chains";a:2:{s:9:"prototype";a:1:{i:0;s:11:"g.path.Path";}s:4:"call";a:1:{i:0;s:11:"g.path.Path";}}s:7:"summary";s:21:"a path shape (Canvas)";s:6:"source";s:25:" this.lastControl = {};";s:9:"classlike";b:1;}s:23:"dojox.gfx.Path.setShape";a:5:{s:9:"prototype";s:14:"dojox.gfx.Path";s:4:"type";s:8:"Function";s:6:"source";s:85:" this.canvasPath = []; return g.Path.superclass.setShape.apply(this, arguments);";s:6:"chains";a:1:{s:4:"call";a:1:{i:0;s:26:"g.Path.superclass.setShape";}}s:7:"summary";s:0:"";}s:33:"dojox.gfx.Path._updateWithSegment";a:7:{s:9:"prototype";s:14:"dojox.gfx.Path";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:7:"segment";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:208:" var last = dojo.clone(this.last); this[pathRenderers[segment.action]](this.canvasPath, segment.action, segment.args); this.last = last; g.Path.superclass._updateWithSegment.apply(this, arguments);";s:6:"chains";a:1:{s:4:"call";a:1:{i:0;s:36:"g.Path.superclass._updateWithSegment";}}s:7:"private";b:1;s:7:"summary";s:0:"";}s:27:"dojox.gfx.Path._renderShape";a:6:{s:9:"prototype";s:14:"dojox.gfx.Path";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:3:"ctx";a:1:{s:4:"type";s:6:"Object";}}s:6:"source";s:129:" var r = this.canvasPath; ctx.beginPath(); for(var i = 0; i < r.length; i += 2){ ctx[r[i]].apply(ctx, r[i + 1]); }";s:7:"private";b:1;s:7:"summary";s:0:"";}s:23:"dojox.gfx.Path._moveToA";a:6:{s:9:"prototype";s:14:"dojox.gfx.Path";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:6:"result";a:1:{s:4:"type";s:0:"";}s:6:"action";a:1:{s:4:"type";s:0:"";}s:4:"args";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:251:" result.push("moveTo", [args[0], args[1]]); for(var i = 2; i < args.length; i += 2){ result.push("lineTo", [args[i], args[i + 1]]); } this.last.x = args[args.length - 2]; this.last.y = args[args.length - 1]; this.lastControl = {};";s:7:"private";b:1;s:7:"summary";s:0:"";}s:23:"dojox.gfx.Path._moveToR";a:6:{s:9:"prototype";s:14:"dojox.gfx.Path";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:6:"result";a:1:{s:4:"type";s:0:"";}s:6:"action";a:1:{s:4:"type";s:0:"";}s:4:"args";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:347:" if("x" in this.last){ result.push("moveTo", [this.last.x += args[0], this.last.y += args[1]]); }else{ result.push("moveTo", [this.last.x = args[0], this.last.y = args[1]]); } for(var i = 2; i < args.length; i += 2){ result.push("lineTo", [this.last.x += args[i], this.last.y += args[i + 1]]); } this.lastControl = {};";s:7:"private";b:1;s:7:"summary";s:0:"";}s:23:"dojox.gfx.Path._lineToA";a:6:{s:9:"prototype";s:14:"dojox.gfx.Path";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:6:"result";a:1:{s:4:"type";s:0:"";}s:6:"action";a:1:{s:4:"type";s:0:"";}s:4:"args";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:205:" for(var i = 0; i < args.length; i += 2){ result.push("lineTo", [args[i], args[i + 1]]); } this.last.x = args[args.length - 2]; this.last.y = args[args.length - 1]; this.lastControl = {};";s:7:"private";b:1;s:7:"summary";s:0:"";}s:23:"dojox.gfx.Path._lineToR";a:6:{s:9:"prototype";s:14:"dojox.gfx.Path";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:6:"result";a:1:{s:4:"type";s:0:"";}s:6:"action";a:1:{s:4:"type";s:0:"";}s:4:"args";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:155:" for(var i = 0; i < args.length; i += 2){ result.push("lineTo", [this.last.x += args[i], this.last.y += args[i + 1]]); } this.lastControl = {};";s:7:"private";b:1;s:7:"summary";s:0:"";}s:24:"dojox.gfx.Path._hLineToA";a:6:{s:9:"prototype";s:14:"dojox.gfx.Path";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:6:"result";a:1:{s:4:"type";s:0:"";}s:6:"action";a:1:{s:4:"type";s:0:"";}s:4:"args";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:162:" for(var i = 0; i < args.length; ++i){ result.push("lineTo", [args[i], this.last.y]); } this.last.x = args[args.length - 1]; this.lastControl = {};";s:7:"private";b:1;s:7:"summary";s:0:"";}s:24:"dojox.gfx.Path._hLineToR";a:6:{s:9:"prototype";s:14:"dojox.gfx.Path";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:6:"result";a:1:{s:4:"type";s:0:"";}s:6:"action";a:1:{s:4:"type";s:0:"";}s:4:"args";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:137:" for(var i = 0; i < args.length; ++i){ result.push("lineTo", [this.last.x += args[i], this.last.y]); } this.lastControl = {};";s:7:"private";b:1;s:7:"summary";s:0:"";}s:24:"dojox.gfx.Path._vLineToA";a:6:{s:9:"prototype";s:14:"dojox.gfx.Path";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:6:"result";a:1:{s:4:"type";s:0:"";}s:6:"action";a:1:{s:4:"type";s:0:"";}s:4:"args";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:162:" for(var i = 0; i < args.length; ++i){ result.push("lineTo", [this.last.x, args[i]]); } this.last.y = args[args.length - 1]; this.lastControl = {};";s:7:"private";b:1;s:7:"summary";s:0:"";}s:24:"dojox.gfx.Path._vLineToR";a:6:{s:9:"prototype";s:14:"dojox.gfx.Path";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:6:"result";a:1:{s:4:"type";s:0:"";}s:6:"action";a:1:{s:4:"type";s:0:"";}s:4:"args";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:137:" for(var i = 0; i < args.length; ++i){ result.push("lineTo", [this.last.x, this.last.y += args[i]]); } this.lastControl = {};";s:7:"private";b:1;s:7:"summary";s:0:"";}s:24:"dojox.gfx.Path._curveToA";a:6:{s:9:"prototype";s:14:"dojox.gfx.Path";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:6:"result";a:1:{s:4:"type";s:0:"";}s:6:"action";a:1:{s:4:"type";s:0:"";}s:4:"args";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:310:" for(var i = 0; i < args.length; i += 6){ result.push("bezierCurveTo", args.slice(i, i + 6)); } this.last.x = args[args.length - 2]; this.last.y = args[args.length - 1]; this.lastControl.x = args[args.length - 4]; this.lastControl.y = args[args.length - 3]; this.lastControl.type = "C";";s:7:"private";b:1;s:7:"summary";s:0:"";}s:24:"dojox.gfx.Path._curveToR";a:6:{s:9:"prototype";s:14:"dojox.gfx.Path";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:6:"result";a:1:{s:4:"type";s:0:"";}s:6:"action";a:1:{s:4:"type";s:0:"";}s:4:"args";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:416:" for(var i = 0; i < args.length; i += 6){ result.push("bezierCurveTo", [ this.last.x + args[i], this.last.y + args[i + 1], this.lastControl.x = this.last.x + args[i + 2], this.lastControl.y = this.last.y + args[i + 3], this.last.x + args[i + 4], this.last.y + args[i + 5] ]); this.last.x += args[i + 4]; this.last.y += args[i + 5]; } this.lastControl.type = "C";";s:7:"private";b:1;s:7:"summary";s:0:"";}s:30:"dojox.gfx.Path._smoothCurveToA";a:6:{s:9:"prototype";s:14:"dojox.gfx.Path";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:6:"result";a:1:{s:4:"type";s:0:"";}s:6:"action";a:1:{s:4:"type";s:0:"";}s:4:"args";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:519:" for(var i = 0; i < args.length; i += 4){ var valid = this.lastControl.type == "C"; result.push("bezierCurveTo", [ valid ? 2 * this.last.x - this.lastControl.x : this.last.x, valid ? 2 * this.last.y - this.lastControl.y : this.last.y, args[i], args[i + 1], args[i + 2], args[i + 3] ]); this.lastControl.x = args[i]; this.lastControl.y = args[i + 1]; this.lastControl.type = "C"; } this.last.x = args[args.length - 2]; this.last.y = args[args.length - 1];";s:7:"private";b:1;s:7:"summary";s:0:"";}s:30:"dojox.gfx.Path._smoothCurveToR";a:6:{s:9:"prototype";s:14:"dojox.gfx.Path";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:6:"result";a:1:{s:4:"type";s:0:"";}s:6:"action";a:1:{s:4:"type";s:0:"";}s:4:"args";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:587:" for(var i = 0; i < args.length; i += 4){ var valid = this.lastControl.type == "C"; result.push("bezierCurveTo", [ valid ? 2 * this.last.x - this.lastControl.x : this.last.x, valid ? 2 * this.last.y - this.lastControl.y : this.last.y, this.last.x + args[i], this.last.y + args[i + 1], this.last.x + args[i + 2], this.last.y + args[i + 3] ]); this.lastControl.x = this.last.x + args[i]; this.lastControl.y = this.last.y + args[i + 1]; this.lastControl.type = "C"; this.last.x += args[i + 2]; this.last.y += args[i + 3]; }";s:7:"private";b:1;s:7:"summary";s:0:"";}s:25:"dojox.gfx.Path._qCurveToA";a:6:{s:9:"prototype";s:14:"dojox.gfx.Path";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:6:"result";a:1:{s:4:"type";s:0:"";}s:6:"action";a:1:{s:4:"type";s:0:"";}s:4:"args";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:313:" for(var i = 0; i < args.length; i += 4){ result.push("quadraticCurveTo", args.slice(i, i + 4)); } this.last.x = args[args.length - 2]; this.last.y = args[args.length - 1]; this.lastControl.x = args[args.length - 4]; this.lastControl.y = args[args.length - 3]; this.lastControl.type = "Q";";s:7:"private";b:1;s:7:"summary";s:0:"";}s:25:"dojox.gfx.Path._qCurveToR";a:6:{s:9:"prototype";s:14:"dojox.gfx.Path";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:6:"result";a:1:{s:4:"type";s:0:"";}s:6:"action";a:1:{s:4:"type";s:0:"";}s:4:"args";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:355:" for(var i = 0; i < args.length; i += 4){ result.push("quadraticCurveTo", [ this.lastControl.x = this.last.x + args[i], this.lastControl.y = this.last.y + args[i + 1], this.last.x + args[i + 2], this.last.y + args[i + 3] ]); this.last.x += args[i + 2]; this.last.y += args[i + 3]; } this.lastControl.type = "Q";";s:7:"private";b:1;s:7:"summary";s:0:"";}s:31:"dojox.gfx.Path._qSmoothCurveToA";a:6:{s:9:"prototype";s:14:"dojox.gfx.Path";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:6:"result";a:1:{s:4:"type";s:0:"";}s:6:"action";a:1:{s:4:"type";s:0:"";}s:4:"args";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:456:" for(var i = 0; i < args.length; i += 2){ var valid = this.lastControl.type == "Q"; result.push("quadraticCurveTo", [ this.lastControl.x = valid ? 2 * this.last.x - this.lastControl.x : this.last.x, this.lastControl.y = valid ? 2 * this.last.y - this.lastControl.y : this.last.y, args[i], args[i + 1] ]); this.lastControl.type = "Q"; } this.last.x = args[args.length - 2]; this.last.y = args[args.length - 1];";s:7:"private";b:1;s:7:"summary";s:0:"";}s:31:"dojox.gfx.Path._qSmoothCurveToR";a:6:{s:9:"prototype";s:14:"dojox.gfx.Path";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:6:"result";a:1:{s:4:"type";s:0:"";}s:6:"action";a:1:{s:4:"type";s:0:"";}s:4:"args";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:464:" for(var i = 0; i < args.length; i += 2){ var valid = this.lastControl.type == "Q"; result.push("quadraticCurveTo", [ this.lastControl.x = valid ? 2 * this.last.x - this.lastControl.x : this.last.x, this.lastControl.y = valid ? 2 * this.last.y - this.lastControl.y : this.last.y, this.last.x + args[i], this.last.y + args[i + 1] ]); this.lastControl.type = "Q"; this.last.x += args[i]; this.last.y += args[i + 1]; }";s:7:"private";b:1;s:7:"summary";s:0:"";}s:21:"dojox.gfx.Path._arcTo";a:6:{s:9:"prototype";s:14:"dojox.gfx.Path";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:6:"result";a:1:{s:4:"type";s:0:"";}s:6:"action";a:1:{s:4:"type";s:0:"";}s:4:"args";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:497:" var relative = action == "a"; for(var i = 0; i < args.length; i += 7){ var x1 = args[i + 5], y1 = args[i + 6]; if(relative){ x1 += this.last.x; y1 += this.last.y; } var arcs = ga.arcAsBezier( this.last, args[i], args[i + 1], args[i + 2], args[i + 3] ? 1 : 0, args[i + 4] ? 1 : 0, x1, y1 ); dojo.forEach(arcs, function(p){ result.push("bezierCurveTo", p); }); this.last.x = x1; this.last.y = y1; } this.lastControl = {};";s:7:"private";b:1;s:7:"summary";s:0:"";}s:25:"dojox.gfx.Path._closePath";a:6:{s:9:"prototype";s:14:"dojox.gfx.Path";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:6:"result";a:1:{s:4:"type";s:0:"";}s:6:"action";a:1:{s:4:"type";s:0:"";}s:4:"args";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:58:" result.push("closePath", []); this.lastControl = {};";s:7:"private";b:1;s:7:"summary";s:0:"";}s:25:"dojox.gfx.Path.canvasPath";a:2:{s:8:"instance";s:14:"dojox.gfx.Path";s:7:"summary";s:0:"";}s:19:"dojox.gfx.Path.last";a:2:{s:8:"instance";s:14:"dojox.gfx.Path";s:7:"summary";s:0:"";}s:21:"dojox.gfx.Path.last.x";a:2:{s:8:"instance";s:14:"dojox.gfx.Path";s:7:"summary";s:0:"";}s:21:"dojox.gfx.Path.last.y";a:2:{s:8:"instance";s:14:"dojox.gfx.Path";s:7:"summary";s:0:"";}s:26:"dojox.gfx.Path.lastControl";a:2:{s:8:"instance";s:14:"dojox.gfx.Path";s:7:"summary";s:0:"";}s:28:"dojox.gfx.Path.lastControl.x";a:2:{s:8:"instance";s:14:"dojox.gfx.Path";s:7:"summary";s:0:"";}s:28:"dojox.gfx.Path.lastControl.y";a:2:{s:8:"instance";s:14:"dojox.gfx.Path";s:7:"summary";s:0:"";}s:31:"dojox.gfx.Path.lastControl.type";a:2:{s:8:"instance";s:14:"dojox.gfx.Path";s:7:"summary";s:0:"";}s:18:"dojox.gfx.TextPath";a:4:{s:4:"type";s:8:"Function";s:6:"chains";a:2:{s:9:"prototype";a:1:{i:0;s:15:"g.path.TextPath";}s:4:"call";a:1:{i:0;s:15:"g.path.TextPath";}}s:7:"summary";s:21:"a text shape (Canvas)";s:9:"classlike";b:1;}s:31:"dojox.gfx.TextPath._renderShape";a:6:{s:9:"prototype";s:18:"dojox.gfx.TextPath";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:3:"ctx";a:1:{s:4:"type";s:6:"Object";}}s:6:"source";s:51:" var s = this.shape; // nothing for the moment";s:7:"private";b:1;s:7:"summary";s:0:"";}s:17:"dojox.gfx.Surface";a:5:{s:4:"type";s:8:"Function";s:6:"chains";a:2:{s:9:"prototype";a:1:{i:0;s:10:"gs.Surface";}s:4:"call";a:2:{i:0;s:10:"gs.Surface";i:1;s:18:"gs.Container._init";}}s:7:"summary";s:49:"a surface object to be used for drawings (Canvas)";s:6:"source";s:85:" gs.Container._init.call(this); this.pendingImageCount = 0; this.makeDirty();";s:9:"classlike";b:1;}s:31:"dojox.gfx.Surface.setDimensions";a:6:{s:9:"prototype";s:17:"dojox.gfx.Surface";s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:5:"width";a:2:{s:4:"type";s:6:"String";s:7:"summary";s:41:"width of surface, e.g., "100px"";}s:6:"height";a:2:{s:4:"type";s:6:"String";s:7:"summary";s:42:"height of surface, e.g., "100px"";}}s:6:"source";s:257:" this.width = g.normalizedLength(width); // in pixels this.height = g.normalizedLength(height); // in pixels if(!this.rawNode) return this; this.rawNode.width = width; this.rawNode.height = height; this.makeDirty(); return this; // self";s:7:"summary";s:40:"sets the width and height of the rawNode";s:7:"returns";s:4:"self";}s:31:"dojox.gfx.Surface.getDimensions";a:5:{s:9:"prototype";s:17:"dojox.gfx.Surface";s:4:"type";s:8:"Function";s:6:"source";s:100:" return this.rawNode ? {width: this.rawNode.width, height: this.rawNode.height} : null; // Object";s:7:"summary";s:74:"returns an object with properties "width" and "height"";s:7:"returns";s:6:"Object";}s:25:"dojox.gfx.Surface._render";a:5:{s:9:"prototype";s:17:"dojox.gfx.Surface";s:4:"type";s:8:"Function";s:6:"source";s:378:" if(this.pendingImageCount){ return; } var ctx = this.rawNode.getContext("2d"); ctx.save(); ctx.clearRect(0, 0, this.rawNode.width, this.rawNode.height); for(var i = 0; i < this.children.length; ++i){ this.children[i]._render(ctx); } ctx.restore(); if("pendingRender" in this){ clearTimeout(this.pendingRender); delete this.pendingRender; }";s:7:"summary";s:21:"render the all shapes";s:7:"private";b:1;}s:27:"dojox.gfx.Surface.makeDirty";a:4:{s:9:"prototype";s:17:"dojox.gfx.Surface";s:4:"type";s:8:"Function";s:6:"source";s:139:" if(!this.pendingImagesCount && !("pendingRender" in this)){ this.pendingRender = setTimeout(dojo.hitch(this, this._render), 0); }";s:7:"summary";s:59:"internal method, which is called when we may need to redraw";}s:31:"dojox.gfx.Surface.downloadImage";a:5:{s:9:"prototype";s:17:"dojox.gfx.Surface";s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:3:"img";a:2:{s:4:"type";s:5:"Image";s:7:"summary";s:16:"the image object";}s:3:"url";a:2:{s:4:"type";s:6:"String";s:7:"summary";s:20:"the url of the image";}}s:6:"source";s:283:" var handler = dojo.hitch(this, this.onImageLoad); if(!this.pendingImageCount++ && "pendingRender" in this){ clearTimeout(this.pendingRender); delete this.pendingRender; } img.onload = handler; img.onerror = handler; img.onabort = handler; img.src = url;";s:7:"summary";s:77:"internal method, which starts an image download and renders, when it is ready";}s:29:"dojox.gfx.Surface.onImageLoad";a:4:{s:9:"prototype";s:17:"dojox.gfx.Surface";s:4:"type";s:8:"Function";s:6:"source";s:51:" if(!--this.pendingImageCount){ this._render(); }";s:7:"summary";s:0:"";}s:32:"dojox.gfx.Surface.getEventSource";a:4:{s:9:"prototype";s:17:"dojox.gfx.Surface";s:4:"type";s:8:"Function";s:6:"source";s:43:" getEventSource: function(){ return null; ";s:7:"summary";s:0:"";}s:25:"dojox.gfx.Surface.connect";a:4:{s:9:"prototype";s:17:"dojox.gfx.Surface";s:4:"type";s:8:"Function";s:6:"source";s:3:"} ";s:7:"summary";s:0:"";}s:28:"dojox.gfx.Surface.disconnect";a:4:{s:9:"prototype";s:17:"dojox.gfx.Surface";s:4:"type";s:8:"Function";s:6:"source";s:2:"} ";s:7:"summary";s:0:"";}s:23:"dojox.gfx.Surface.width";a:2:{s:8:"instance";s:17:"dojox.gfx.Surface";s:7:"summary";s:0:"";}s:24:"dojox.gfx.Surface.height";a:2:{s:8:"instance";s:17:"dojox.gfx.Surface";s:7:"summary";s:0:"";}s:31:"dojox.gfx.Surface.rawNode.width";a:2:{s:8:"instance";s:17:"dojox.gfx.Surface";s:7:"summary";s:0:"";}s:32:"dojox.gfx.Surface.rawNode.height";a:2:{s:8:"instance";s:17:"dojox.gfx.Surface";s:7:"summary";s:0:"";}s:37:"dojox.gfx.Surface.setDimensions.width";a:2:{s:4:"type";s:6:"String";s:7:"summary";s:41:"width of surface, e.g., "100px"";}s:38:"dojox.gfx.Surface.setDimensions.height";a:2:{s:4:"type";s:6:"String";s:7:"summary";s:42:"height of surface, e.g., "100px"";}s:31:"dojox.gfx.Surface.pendingRender";a:2:{s:8:"instance";s:17:"dojox.gfx.Surface";s:7:"summary";s:0:"";}s:35:"dojox.gfx.Surface.pendingImageCount";a:2:{s:8:"instance";s:17:"dojox.gfx.Surface";s:7:"summary";s:0:"";}s:1:"m";a:1:{s:7:"summary";s:0:"";}s:15:"g.createSurface";a:1:{s:7:"summary";s:0:"";}s:14:".Shape._render";a:6:{s:9:"prototype";s:6:".Shape";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:3:"ctx";a:1:{s:4:"type";s:6:"Object";}}s:6:"source";s:156:" ctx.save(); this._renderTransform(ctx); this._renderShape(ctx); this._renderFill(ctx, true); this._renderStroke(ctx, true); ctx.restore();";s:7:"summary";s:16:"render the shape";s:7:"private";b:1;}s:23:".Shape._renderTransform";a:6:{s:9:"prototype";s:6:".Shape";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:3:"ctx";a:1:{s:4:"type";s:6:"Object";}}s:6:"source";s:338:" if("canvasTransform" in this){ var t = this.canvasTransform; ctx.translate(t.dx, t.dy); ctx.rotate(t.angle2); ctx.scale(t.sx, t.sy); ctx.rotate(t.angle1); // The future implementation when vendors catch up with the spec: // var t = this.matrix; // ctx.transform(t.xx, t.yx, t.xy, t.yy, t.dx, t.dy); }";s:7:"private";b:1;s:7:"summary";s:0:"";}s:19:".Shape._renderShape";a:6:{s:9:"prototype";s:6:".Shape";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:3:"ctx";a:1:{s:4:"type";s:6:"Object";}}s:6:"source";s:1096:"dojo.provide("dojox.gfx.canvas"); dojo.require("dojox.gfx._base"); dojo.require("dojox.gfx.shape"); dojo.require("dojox.gfx.path"); dojo.require("dojox.gfx.arc"); dojo.require("dojox.gfx.decompose"); dojo.experimental("dojox.gfx.canvas"); (function(){ var g = dojox.gfx, gs = g.shape, ga = g.arc, m = g.matrix, mp = m.multiplyPoint, pi = Math.PI, twoPI = 2 * pi, halfPI = pi /2; dojo.extend(g.Shape, { _render: function(/* Object */ ctx){ // summary: render the shape ctx.save(); this._renderTransform(ctx); this._renderShape(ctx); this._renderFill(ctx, true); this._renderStroke(ctx, true); ctx.restore(); }, _renderTransform: function(/* Object */ ctx){ if("canvasTransform" in this){ var t = this.canvasTransform; ctx.translate(t.dx, t.dy); ctx.rotate(t.angle2); ctx.scale(t.sx, t.sy); ctx.rotate(t.angle1); // The future implementation when vendors catch up with the spec: // var t = this.matrix; // ctx.transform(t.xx, t.yx, t.xy, t.yy, t.dx, t.dy); } }, _renderShape: function(/* Object */ ctx){ // nothing";s:7:"private";b:1;s:7:"summary";s:0:"";}s:18:".Shape._renderFill";a:6:{s:9:"prototype";s:6:".Shape";s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:3:"ctx";a:1:{s:4:"type";s:6:"Object";}s:5:"apply";a:1:{s:4:"type";s:7:"Boolean";}}s:6:"source";s:297:" if("canvasFill" in this){ if("canvasFillImage" in this){ this.canvasFill = ctx.createPattern(this.canvasFillImage, "repeat"); delete this.canvasFillImage; } ctx.fillStyle = this.canvasFill; if(apply){ ctx.fill(); } }else{ ctx.fillStyle = "rgba(0,0,0,0.0)"; }";s:7:"private";b:1;s:7:"summary";s:0:"";}s:17:".Shape.canvasFill";a:2:{s:8:"instance";s:6:".Shape";s:7:"summary";s:0:"";}s:20:".Shape._renderStroke";a:6:{s:9:"prototype";s:6:".Shape";s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:3:"ctx";a:1:{s:4:"type";s:6:"Object";}s:5:"apply";a:1:{s:4:"type";s:7:"Boolean";}}s:6:"source";s:371:" var s = this.strokeStyle; if(s){ ctx.strokeStyle = s.color.toString(); ctx.lineWidth = s.width; ctx.lineCap = s.cap; if(typeof s.join == "number"){ ctx.lineJoin = "miter"; ctx.miterLimit = s.join; }else{ ctx.lineJoin = s.join; } if(apply){ ctx.stroke(); } }else if(!apply){ ctx.strokeStyle = "rgba(0,0,0,0.0)"; }";s:7:"private";b:1;s:7:"summary";s:0:"";}s:21:".Shape.getEventSource";a:4:{s:9:"prototype";s:6:".Shape";s:4:"type";s:8:"Function";s:6:"source";s:43:" getEventSource: function(){ return null; ";s:7:"summary";s:0:"";}s:14:".Shape.connect";a:4:{s:9:"prototype";s:6:".Shape";s:4:"type";s:8:"Function";s:6:"source";s:3:"} ";s:7:"summary";s:0:"";}s:17:".Shape.disconnect";a:4:{s:9:"prototype";s:6:".Shape";s:4:"type";s:8:"Function";s:6:"source";s:2:"} ";s:7:"summary";s:0:"";}s:6:".Group";a:2:{s:6:"mixins";a:1:{s:9:"prototype";a:2:{i:0;s:9:"Container";i:1;s:10:"gs.Creator";}}s:7:"summary";s:0:"";}s:8:".Surface";a:2:{s:6:"mixins";a:1:{s:9:"prototype";a:2:{i:0;s:9:"Container";i:1;s:10:"gs.Creator";}}s:7:"summary";s:0:"";}s:21:".Creator.createObject";a:5:{s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:9:"shapeType";a:2:{s:4:"type";s:8:"Function";s:7:"summary";s:44:"a class constructor to create an instance of";}s:8:"rawShape";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:125:"properties to be passed in to the classes "setShape" method overrideSize: Boolean: set the size explicitly, if true";}}s:6:"source";s:149:" var shape = new shapeType(); shape.surface = this.surface; shape.setShape(rawShape); this.add(shape); return shape; // dojox.gfx.Shape";s:7:"summary";s:49:"creates an instance of the passed shapeType class";s:7:"returns";s:15:"dojox.gfx.Shape";}s:16:"dojox.gfx.canvas";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}s:9:"dojox.gfx";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}s:5:"dojox";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}}