rem: _updateWithSegment: function(/* Object */ segment){  
add: _updateWithSegment: function(segment){   
context: 	_updateWithSegment: function(/* Object */ segment){		// summary: updates a bounding box of path with new segment		var n = segment.args;		var l = n.length;		// update internal variables: bbox, absolute, last		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;		}		// add an SVG path segment		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);		}	},
meta: 4707	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/4707/50c3492c4c3c825dbd3401e134a19ed46799c456/path.js/buggy/www/resources/dojo-ajax/src/gfx/path.js