]> git.pond.sub.org Git - eow/blobdiff - static/dojo-release-1.1.1/dojox/gfx/shape.js
Replace Dojo with jQuery
[eow] / static / dojo-release-1.1.1 / dojox / gfx / shape.js
diff --git a/static/dojo-release-1.1.1/dojox/gfx/shape.js b/static/dojo-release-1.1.1/dojox/gfx/shape.js
deleted file mode 100644 (file)
index 179f6c5..0000000
+++ /dev/null
@@ -1,691 +0,0 @@
-if(!dojo._hasResource["dojox.gfx.shape"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.gfx.shape"] = true;
-dojo.provide("dojox.gfx.shape");
-
-dojo.require("dojox.gfx._base");
-
-dojo.declare("dojox.gfx.Shape", null, {
-       // summary: a Shape object, which knows how to apply 
-       // graphical attributes and transformations
-       
-       constructor: function(){
-               // rawNode: Node: underlying node
-               this.rawNode = null;
-               
-               // shape: Object: an abstract shape object
-               //      (see dojox.gfx.defaultPath,
-               //      dojox.gfx.defaultPolyline,
-               //      dojox.gfx.defaultRect,
-               //      dojox.gfx.defaultEllipse,
-               //      dojox.gfx.defaultCircle,
-               //      dojox.gfx.defaultLine,
-               //      or dojox.gfx.defaultImage)
-               this.shape = null;
-               
-               // matrix: dojox.gfx.Matrix2D: a transformation matrix
-               this.matrix = null;
-               
-               // fillStyle: Object: a fill object 
-               //      (see dojox.gfx.defaultLinearGradient, 
-               //      dojox.gfx.defaultRadialGradient, 
-               //      dojox.gfx.defaultPattern, 
-               //      or dojo.Color)
-               this.fillStyle = null;
-               
-               // strokeStyle: Object: a stroke object 
-               //      (see dojox.gfx.defaultStroke) 
-               this.strokeStyle = null;
-               
-               // bbox: dojox.gfx.Rectangle: a bounding box of this shape
-               //      (see dojox.gfx.defaultRect)
-               this.bbox = null;
-               
-               // virtual group structure
-               
-               // parent: Object: a parent or null
-               //      (see dojox.gfx.Surface,
-               //      dojox.gfx.shape.VirtualGroup,
-               //      or dojox.gfx.Group)
-               this.parent = null;
-               
-               // parentMatrix: dojox.gfx.Matrix2D
-               //      a transformation matrix inherited from the parent
-               this.parentMatrix = null;
-       },
-       
-       // trivial getters
-       
-       getNode: function(){
-               // summary: returns the current DOM Node or null
-               return this.rawNode; // Node
-       },
-       getShape: function(){
-               // summary: returns the current shape object or null
-               //      (see dojox.gfx.defaultPath,
-               //      dojox.gfx.defaultPolyline,
-               //      dojox.gfx.defaultRect,
-               //      dojox.gfx.defaultEllipse,
-               //      dojox.gfx.defaultCircle,
-               //      dojox.gfx.defaultLine,
-               //      or dojox.gfx.defaultImage)
-               return this.shape; // Object
-       },
-       getTransform: function(){
-               // summary: returns the current transformation matrix or null
-               return this.matrix;     // dojox.gfx.Matrix2D
-       },
-       getFill: function(){
-               // summary: returns the current fill object or null
-               //      (see dojox.gfx.defaultLinearGradient, 
-               //      dojox.gfx.defaultRadialGradient, 
-               //      dojox.gfx.defaultPattern, 
-               //      or dojo.Color)
-               return this.fillStyle;  // Object
-       },
-       getStroke: function(){
-               // summary: returns the current stroke object or null
-               //      (see dojox.gfx.defaultStroke) 
-               return this.strokeStyle;        // Object
-       },
-       getParent: function(){
-               // summary: returns the parent or null
-               //      (see dojox.gfx.Surface,
-               //      dojox.gfx.shape.VirtualGroup,
-               //      or dojox.gfx.Group)
-               return this.parent;     // Object
-       },
-       getBoundingBox: function(){
-               // summary: returns the bounding box or null
-               //      (see dojox.gfx.defaultRect)
-               return this.bbox;       // dojox.gfx.Rectangle
-       },
-       getTransformedBoundingBox: function(){
-               // summary: returns an array of four points or null
-               //      four points represent four corners of the untransformed bounding box
-               var b = this.getBoundingBox();
-               if(!b){
-                       return null;    // null
-               }
-               var m = this._getRealMatrix();
-               var r = [];
-               var g = dojox.gfx.matrix;
-               r.push(g.multiplyPoint(m, b.x, b.y));
-               r.push(g.multiplyPoint(m, b.x + b.width, b.y));
-               r.push(g.multiplyPoint(m, b.x + b.width, b.y + b.height));
-               r.push(g.multiplyPoint(m, b.x, b.y + b.height));
-               return r;       // Array
-       },
-       getEventSource: function(){
-               // summary: returns a Node, which is used as 
-               //      a source of events for this shape
-
-               // COULD BE RE-IMPLEMENTED BY THE RENDERER!
-
-               return this.rawNode;    // Node
-       },
-       
-       // empty settings
-       
-       setShape: function(shape){
-               // summary: sets a shape object
-               //      (the default implementation simply ignores it)
-               // shape: Object: a shape object
-               //      (see dojox.gfx.defaultPath,
-               //      dojox.gfx.defaultPolyline,
-               //      dojox.gfx.defaultRect,
-               //      dojox.gfx.defaultEllipse,
-               //      dojox.gfx.defaultCircle,
-               //      dojox.gfx.defaultLine,
-               //      or dojox.gfx.defaultImage)
-
-               // COULD BE RE-IMPLEMENTED BY THE RENDERER!
-
-               this.shape = dojox.gfx.makeParameters(this.shape, shape);
-               this.bbox = null;
-               return this;    // self
-       },
-       setFill: function(fill){
-               // summary: sets a fill object
-               //      (the default implementation simply ignores it)
-               // fill: Object: a fill object
-               //      (see dojox.gfx.defaultLinearGradient, 
-               //      dojox.gfx.defaultRadialGradient, 
-               //      dojox.gfx.defaultPattern, 
-               //      or dojo.Color)
-
-               // COULD BE RE-IMPLEMENTED BY THE RENDERER!
-
-               if(!fill){
-                       // don't fill
-                       this.fillStyle = null;
-                       return this;    // self
-               }
-               var f = null;
-               if(typeof(fill) == "object" && "type" in fill){
-                       // gradient or pattern
-                       switch(fill.type){
-                               case "linear":
-                                       f = dojox.gfx.makeParameters(dojox.gfx.defaultLinearGradient, fill);
-                                       break;
-                               case "radial":
-                                       f = dojox.gfx.makeParameters(dojox.gfx.defaultRadialGradient, fill);
-                                       break;
-                               case "pattern":
-                                       f = dojox.gfx.makeParameters(dojox.gfx.defaultPattern, fill);
-                                       break;
-                       }
-               }else{
-                       // color object
-                       f = dojox.gfx.normalizeColor(fill);
-               }
-               this.fillStyle = f;
-               return this;    // self
-       },
-       setStroke: function(stroke){
-               // summary: sets a stroke object
-               //      (the default implementation simply ignores it)
-               // stroke: Object: a stroke object
-               //      (see dojox.gfx.defaultStroke) 
-
-               // COULD BE RE-IMPLEMENTED BY THE RENDERER!
-
-               if(!stroke){
-                       // don't stroke
-                       this.strokeStyle = null;
-                       return this;    // self
-               }
-               // normalize the stroke
-               if(typeof stroke == "string"){
-                       stroke = {color: stroke};
-               }
-               var s = this.strokeStyle = dojox.gfx.makeParameters(dojox.gfx.defaultStroke, stroke);
-               s.color = dojox.gfx.normalizeColor(s.color);
-               return this;    // self
-       },
-       setTransform: function(matrix){
-               // summary: sets a transformation matrix
-               // matrix: dojox.gfx.Matrix2D: a matrix or a matrix-like object
-               //      (see an argument of dojox.gfx.Matrix2D 
-               //      constructor for a list of acceptable arguments)
-
-               // COULD BE RE-IMPLEMENTED BY THE RENDERER!
-
-               this.matrix = dojox.gfx.matrix.clone(matrix ? dojox.gfx.matrix.normalize(matrix) : dojox.gfx.matrix.identity);
-               return this._applyTransform();  // self
-       },
-       
-       _applyTransform: function(){
-               // summary: physically sets a matrix
-
-               // COULD BE RE-IMPLEMENTED BY THE RENDERER!
-
-               return this;    // self
-       },
-       
-       // z-index
-       
-       moveToFront: function(){
-               // summary: moves a shape to front of its parent's list of shapes
-               var p = this.getParent();
-               if(p){
-                       p._moveChildToFront(this);
-                       this._moveToFront();    // execute renderer-specific action
-               }
-               return this;    // self
-       },
-       moveToBack: function(){
-               // summary: moves a shape to back of its parent's list of shapes
-               var p = this.getParent();
-               if(p){
-                       p._moveChildToBack(this);
-                       this._moveToBack();     // execute renderer-specific action
-               }
-               return this;
-       },
-       _moveToFront: function(){
-               // summary: renderer-specific hook, see dojox.gfx.shape.Shape.moveToFront()
-
-               // COULD BE RE-IMPLEMENTED BY THE RENDERER!
-       },
-       _moveToBack: function(){
-               // summary: renderer-specific hook, see dojox.gfx.shape.Shape.moveToFront()
-
-               // COULD BE RE-IMPLEMENTED BY THE RENDERER!
-       },
-
-       // apply left & right transformation
-       
-       applyRightTransform: function(matrix){
-               // summary: multiplies the existing matrix with an argument on right side
-               //      (this.matrix * matrix)
-               // matrix: dojox.gfx.Matrix2D: a matrix or a matrix-like object
-               //      (see an argument of dojox.gfx.Matrix2D 
-               //      constructor for a list of acceptable arguments)
-               return matrix ? this.setTransform([this.matrix, matrix]) : this;        // self
-       },
-       applyLeftTransform: function(matrix){
-               // summary: multiplies the existing matrix with an argument on left side
-               //      (matrix * this.matrix)
-               // matrix: dojox.gfx.Matrix2D: a matrix or a matrix-like object
-               //      (see an argument of dojox.gfx.Matrix2D 
-               //      constructor for a list of acceptable arguments)
-               return matrix ? this.setTransform([matrix, this.matrix]) : this;        // self
-       },
-       applyTransform: function(matrix){
-               // summary: a shortcut for dojox.gfx.Shape.applyRightTransform
-               // matrix: dojox.gfx.Matrix2D: a matrix or a matrix-like object
-               //      (see an argument of dojox.gfx.Matrix2D 
-               //      constructor for a list of acceptable arguments)
-               return matrix ? this.setTransform([this.matrix, matrix]) : this;        // self
-       },
-       
-       // virtual group methods
-       
-       removeShape: function(silently){
-               // summary: removes the shape from its parent's list of shapes
-               // silently: Boolean?: if true, do not redraw a picture yet
-               if(this.parent){
-                       this.parent.remove(this, silently);
-               }
-               return this;    // self
-       },
-       _setParent: function(parent, matrix){
-               // summary: sets a parent
-               // parent: Object: a parent or null
-               //      (see dojox.gfx.Surface,
-               //      dojox.gfx.shape.VirtualGroup,
-               //      or dojox.gfx.Group)
-               // matrix: dojox.gfx.Matrix2D:
-               //      a 2D matrix or a matrix-like object
-               this.parent = parent;
-               return this._updateParentMatrix(matrix);        // self
-       },
-       _updateParentMatrix: function(matrix){
-               // summary: updates the parent matrix with new matrix
-               // matrix: dojox.gfx.Matrix2D:
-               //      a 2D matrix or a matrix-like object
-               this.parentMatrix = matrix ? dojox.gfx.matrix.clone(matrix) : null;
-               return this._applyTransform();  // self
-       },
-       _getRealMatrix: function(){
-               // summary: returns the cumulative ("real") transformation matrix
-               //      by combining the shape's matrix with its parent's matrix
-               var m = this.matrix;
-               var p = this.parent;
-               while(p){
-                       if(p.matrix){
-                               m = dojox.gfx.matrix.multiply(p.matrix, m);
-                       }
-                       p = p.parent;
-               }
-               return m;       // dojox.gfx.Matrix2D
-       }
-});
-
-dojox.gfx.shape._eventsProcessing = {
-       connect: function(name, object, method){
-               // summary: connects a handler to an event on this shape
-
-               // COULD BE RE-IMPLEMENTED BY THE RENDERER!
-
-               return arguments.length > 2 ?   // Object
-                       dojo.connect(this.getEventSource(), name, object, method) :
-                       dojo.connect(this.getEventSource(), name, object);
-       },
-       disconnect: function(token){
-               // summary: connects a handler by token from an event on this shape
-
-               // COULD BE RE-IMPLEMENTED BY THE RENDERER!
-
-               dojo.disconnect(token);
-       }
-};
-
-dojo.extend(dojox.gfx.Shape, dojox.gfx.shape._eventsProcessing);
-
-dojox.gfx.shape.Container = {
-       // summary: a container of shapes, which can be used 
-       //      as a foundation for renderer-specific groups, or as a way 
-       //      to logically group shapes (e.g, to propagate matricies)
-       
-       _init: function() {
-               // children: Array: a list of children
-               this.children = [];
-       },
-       
-       // group management
-       
-       add: function(shape){
-               // summary: adds a shape to the list
-               // shape: dojox.gfx.Shape: a shape
-               var oldParent = shape.getParent();
-               if(oldParent){
-                       oldParent.remove(shape, true);
-               }
-               this.children.push(shape);
-               return shape._setParent(this, this._getRealMatrix());   // self
-       },
-       remove: function(shape, silently){
-               // summary: removes a shape from the list
-               // silently: Boolean?: if true, do not redraw a picture yet
-               for(var i = 0; i < this.children.length; ++i){
-                       if(this.children[i] == shape){
-                               if(silently){
-                                       // skip for now
-                               }else{
-                                       shape._setParent(null, null);
-                               }
-                               this.children.splice(i, 1);
-                               break;
-                       }
-               }
-               return this;    // self
-       },
-       clear: function(){
-               // summary: removes all shapes from a group/surface
-               this.children = [];
-               return this;    // self
-       },
-       
-       // moving child nodes
-       
-       _moveChildToFront: function(shape){
-               // summary: moves a shape to front of the list of shapes
-               for(var i = 0; i < this.children.length; ++i){
-                       if(this.children[i] == shape){
-                               this.children.splice(i, 1);
-                               this.children.push(shape);
-                               break;
-                       }
-               }
-               return this;    // self
-       },
-       _moveChildToBack: function(shape){
-               // summary: moves a shape to back of the list of shapes
-               for(var i = 0; i < this.children.length; ++i){
-                       if(this.children[i] == shape){
-                               this.children.splice(i, 1);
-                               this.children.unshift(shape);
-                               break;
-                       }
-               }
-               return this;    // self
-       }
-};
-
-dojo.declare("dojox.gfx.shape.Surface", null, {
-       // summary: a surface object to be used for drawings
-       constructor: function(){
-               // underlying node
-               this.rawNode = null;
-       },
-       getEventSource: function(){
-               // summary: returns a node, which can be used to attach event listeners
-               return this.rawNode; // Node
-       },
-       _getRealMatrix: function(){
-               // summary: always returns the identity matrix
-               return null;    // dojox.gfx.Matrix2D
-       }
-});
-
-dojo.extend(dojox.gfx.shape.Surface, dojox.gfx.shape._eventsProcessing);
-
-dojo.declare("dojox.gfx.Point", null, {
-       // summary: a hypothetical 2D point to be used for drawings - {x, y}
-       // description: This object is defined for documentation purposes.
-       //      You should use the naked object instead: {x: 1, y: 2}.
-});
-
-dojo.declare("dojox.gfx.Rectangle", null, {
-       // summary: a hypothetical rectangle - {x, y, width, height}
-       // description: This object is defined for documentation purposes.
-       //      You should use the naked object instead: {x: 1, y: 2, width: 100, height: 200}.
-});
-
-dojo.declare("dojox.gfx.shape.Rect", dojox.gfx.Shape, {
-       // summary: a generic rectangle
-       constructor: function(rawNode) {
-               // rawNode: Node: a DOM Node
-               this.shape = dojo.clone(dojox.gfx.defaultRect);
-               this.rawNode = rawNode;
-       },
-       getBoundingBox: function(){
-               // summary: returns the bounding box (its shape in this case)
-               return this.shape;      // dojox.gfx.Rectangle
-       }
-});
-
-dojo.declare("dojox.gfx.shape.Ellipse", dojox.gfx.Shape, {
-       // summary: a generic ellipse
-       constructor: function(rawNode) {
-               // rawNode: Node: a DOM Node
-               this.shape = dojo.clone(dojox.gfx.defaultEllipse);
-               this.rawNode = rawNode;
-       },
-       getBoundingBox: function(){
-               // summary: returns the bounding box
-               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;       // dojox.gfx.Rectangle
-       }
-});
-
-dojo.declare("dojox.gfx.shape.Circle", dojox.gfx.Shape, {
-       // summary: a generic circle
-       //      (this is a helper object, which is defined for convenience)
-       constructor: function(rawNode) {
-               // rawNode: Node: a DOM Node
-               this.shape = dojo.clone(dojox.gfx.defaultCircle);
-               this.rawNode = rawNode;
-       },
-       getBoundingBox: function(){
-               // summary: returns the bounding box
-               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;       // dojox.gfx.Rectangle
-       }
-});
-
-dojo.declare("dojox.gfx.shape.Line", dojox.gfx.Shape, {
-       // summary: a generic line
-       //      (this is a helper object, which is defined for convenience)
-       constructor: function(rawNode) {
-               // rawNode: Node: a DOM Node
-               this.shape = dojo.clone(dojox.gfx.defaultLine);
-               this.rawNode = rawNode;
-       },
-       getBoundingBox: function(){
-               // summary: returns the bounding box
-               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;       // dojox.gfx.Rectangle
-       }
-});
-
-dojo.declare("dojox.gfx.shape.Polyline", dojox.gfx.Shape, {
-       // summary: a generic polyline/polygon
-       //      (this is a helper object, which is defined for convenience)
-       constructor: function(rawNode) {
-               // rawNode: Node: a DOM Node
-               this.shape = dojo.clone(dojox.gfx.defaultPolyline);
-               this.rawNode = rawNode;
-       },
-       setShape: function(points, closed){
-               // summary: sets a polyline/polygon shape object
-               // points: Object: a polyline/polygon shape object
-               // closed: Boolean: close the polyline to make a polygon
-               if(points && points instanceof Array){
-                       // points: Array: an array of points
-                       dojox.gfx.Shape.prototype.setShape.call(this, {points: points});
-                       if(closed && this.shape.points.length){ 
-                               this.shape.points.push(this.shape.points[0]);
-                       }
-               }else{
-                       dojox.gfx.Shape.prototype.setShape.call(this, points);
-               }
-               return this;    // self
-       },
-       getBoundingBox: function(){
-               // summary: returns the bounding box
-               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;       // dojox.gfx.Rectangle
-       }
-});
-
-dojo.declare("dojox.gfx.shape.Image", dojox.gfx.Shape, {
-       // summary: a generic image
-       //      (this is a helper object, which is defined for convenience)
-       constructor: function(rawNode) {
-               // rawNode: Node: a DOM Node
-               this.shape = dojo.clone(dojox.gfx.defaultImage);
-               this.rawNode = rawNode;
-       },
-       getBoundingBox: function(){
-               // summary: returns the bounding box (its shape in this case)
-               return this.shape;      // dojox.gfx.Rectangle
-       },
-       setStroke: function(){
-               // summary: ignore setting a stroke style
-               return this;    // self
-       },
-       setFill: function(){
-               // summary: ignore setting a fill style
-               return this;    // self
-       }
-});
-
-dojo.declare("dojox.gfx.shape.Text", dojox.gfx.Shape, {
-       // summary: a generic text
-       constructor: function(rawNode) {
-               // rawNode: Node: a DOM Node
-               this.fontStyle = null;
-               this.shape = dojo.clone(dojox.gfx.defaultText);
-               this.rawNode = rawNode;
-       },
-       getFont: function(){
-               // summary: returns the current font object or null
-               return this.fontStyle;  // Object
-       },
-       setFont: function(newFont){
-               // summary: sets a font for text
-               // newFont: Object: a font object (see dojox.gfx.defaultFont) or a font string
-               this.fontStyle = typeof newFont == "string" ? dojox.gfx.splitFontString(newFont) :
-                       dojox.gfx.makeParameters(dojox.gfx.defaultFont, newFont);
-               this._setFont();
-               return this;    // self
-       }
-});
-
-dojox.gfx.shape.Creator = {
-       // summary: shape creators
-       createShape: function(shape){
-               // summary: creates a shape object based on its type; it is meant to be used
-               //      by group-like objects
-               // shape: Object: a shape descriptor object
-               switch(shape.type){
-                       case dojox.gfx.defaultPath.type:                return this.createPath(shape);
-                       case dojox.gfx.defaultRect.type:                return this.createRect(shape);
-                       case dojox.gfx.defaultCircle.type:              return this.createCircle(shape);
-                       case dojox.gfx.defaultEllipse.type:             return this.createEllipse(shape);
-                       case dojox.gfx.defaultLine.type:                return this.createLine(shape);
-                       case dojox.gfx.defaultPolyline.type:    return this.createPolyline(shape);
-                       case dojox.gfx.defaultImage.type:               return this.createImage(shape);
-                       case dojox.gfx.defaultText.type:                return this.createText(shape);
-                       case dojox.gfx.defaultTextPath.type:    return this.createTextPath(shape);
-               }
-               return null;
-       },
-       createGroup: function(){
-               // summary: creates an SVG group shape
-               return this.createObject(dojox.gfx.Group);      // dojox.gfx.Group
-       },
-       createRect: function(rect){
-               // summary: creates an SVG rectangle shape
-               // rect: Object: a path object (see dojox.gfx.defaultRect)
-               return this.createObject(dojox.gfx.Rect, rect); // dojox.gfx.Rect
-       },
-       createEllipse: function(ellipse){
-               // summary: creates an SVG ellipse shape
-               // ellipse: Object: an ellipse object (see dojox.gfx.defaultEllipse)
-               return this.createObject(dojox.gfx.Ellipse, ellipse);   // dojox.gfx.Ellipse
-       },
-       createCircle: function(circle){
-               // summary: creates an SVG circle shape
-               // circle: Object: a circle object (see dojox.gfx.defaultCircle)
-               return this.createObject(dojox.gfx.Circle, circle);     // dojox.gfx.Circle
-       },
-       createLine: function(line){
-               // summary: creates an SVG line shape
-               // line: Object: a line object (see dojox.gfx.defaultLine)
-               return this.createObject(dojox.gfx.Line, line); // dojox.gfx.Line
-       },
-       createPolyline: function(points){
-               // summary: creates an SVG polyline/polygon shape
-               // points: Object: a points object (see dojox.gfx.defaultPolyline)
-               //      or an Array of points
-               return this.createObject(dojox.gfx.Polyline, points);   // dojox.gfx.Polyline
-       },
-       createImage: function(image){
-               // summary: creates an SVG image shape
-               // image: Object: an image object (see dojox.gfx.defaultImage)
-               return this.createObject(dojox.gfx.Image, image);       // dojox.gfx.Image
-       },
-       createText: function(text){
-               // summary: creates an SVG text shape
-               // text: Object: a text object (see dojox.gfx.defaultText)
-               return this.createObject(dojox.gfx.Text, text); // dojox.gfx.Text
-       },
-       createPath: function(path){
-               // summary: creates an SVG path shape
-               // path: Object: a path object (see dojox.gfx.defaultPath)
-               return this.createObject(dojox.gfx.Path, path); // dojox.gfx.Path
-       },
-       createTextPath: function(text){
-               // summary: creates an SVG text shape
-               // text: Object: a textpath object (see dojox.gfx.defaultTextPath)
-               return this.createObject(dojox.gfx.TextPath, {}).setText(text); // dojox.gfx.TextPath
-       },
-       createObject: function(shapeType, rawShape){
-               // summary: creates an instance of the passed shapeType class
-               // shapeType: Function: a class constructor to create an instance of
-               // rawShape: Object: properties to be passed in to the classes "setShape" method
-
-               // SHOULD BE RE-IMPLEMENTED BY THE RENDERER!
-
-               return null;    // dojox.gfx.Shape
-       }
-};
-
-}