⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shape.js

📁 这是一个ajax的例子大家好好的看看就是一个鱼眼的效果
💻 JS
📖 第 1 页 / 共 2 页
字号:
	// 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	}};}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -