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

📄 xplook.as

📁 flashget43的源代码 一个比较常用的下载程序
💻 AS
📖 第 1 页 / 共 2 页
字号:
//#initclip 10_global.XPLook = function() {	super();};_global.XPLook.prototype = new Object();// data {className - component name, type - type of component, mode - press, over,..., pLink - link to an object, clr - color}_global.XPLook.prototype.draw = function(movie:MovieClip, nW:Number, nH:Number, data:Object):Void{	if(movie == undefined) return;		var clr = 0;	switch(data.mode)	{		case data.pLink.STATE_OUT      : clr = globalStyleFormat[data.pLink._face]; break;		case data.pLink.STATE_OVER     : clr = this.ex_brighter(globalStyleFormat[data.pLink._face], 0.77); break;		case data.pLink.STATE_PRESS    : clr = globalStyleFormat[data.pLink._face]; break;		case data.pLink.STATE_DISABLED : clr = this.brighter(this.brighter(globalStyleFormat[data.pLink._face])); break;		default: clr = globalStyleFormat[data.pLink._face]; break;	}	data.clr = clr;		switch(data.type)	{		case data.pLink.BG_TYPE_COMBO:			data.clr = globalStyleFormat[data.pLink._background];			this.drawComboBox(movie, nW, nH, data);			break;		case data.pLink.BG_TYPE_SCROLL:			data.clr = globalStyleFormat[data.pLink._scroll_track];			this.drawScrollBack(movie, nW, nH, data);			break;		case data.pLink.BTN_TYPE_COMBO:			data.clr = clr;			this.drawComboBoxBtn(movie, nW, nH, data);			break;		case data.pLink.BTN_TYPE_SCROLL:			movie.clear();			this.drawScroll(movie, nW, nH, clr, globalStyleFormat[data.pLink._highlight], data);			//trace('w ' + movie._width + ' w2 ' + nW);			break;		case data.pLink.BTN_TYPE_SCROLL_LOW:		case data.pLink.BTN_TYPE_SCROLL_HI:			data.clr = clr;			this.drawScrollLayer(movie, nW, nH, data);			break;		case data.pLink.BTN_TYPE_HIDE:		case data.pLink.BTN_TYPE_MINIMIZE:		case data.pLink.BTN_TYPE_CLOSE:			this.drawTitleButton(movie, nW, nH, data);			break;		case "resizeHandle":			drawResizeHandleBtn(movie, nW, nH, 0x8f8f8f);			break;		case "comboBox":			drawLayer(movie, nW, nH, 0xffffff, 0x303030, data.border);			break;		default:			movie.clear();			this.drawRoundBtn(movie, 0, 0, nW, nH, data.clr, globalStyleFormat[data.pLink._highlight], data);			break;	}}_global.XPLook.prototype.drawScrollLayer = function(movie:MovieClip, nW:Number, nH:Number, data:Object):Void{	this.drawSquareBtn(movie, 0, 0, nW, nH, data.clr, globalStyleFormat[data.pLink._highlight], data);	var dir:String = "";	switch(data.dir)	{		case "vert":			switch(data.type)			{				case data.pLink.BTN_TYPE_SCROLL_LOW: dir="up"; break;				case data.pLink.BTN_TYPE_SCROLL_HI: dir="down"; break;			}			break;		case "horz":			switch(data.type)			{				case data.pLink.BTN_TYPE_SCROLL_LOW: dir="left"; break;				case data.pLink.BTN_TYPE_SCROLL_HI: dir="right"; break;			}			break;	}	if(dir) this.drawSingleArrow(movie, 3, 3, nW - 6, nH - 6, dir, globalStyleFormat[data.pLink._arrow_xp]);}_global.XPLook.prototype.drawSingleArrow = function(movie:MovieClip, nX:Number, nY:Number, nW:Number, nH:Number, dir:String, clr:Number, alpha:Number):Void{	if(!alpha) alpha = 100;	var bVert:Boolean = dir == "up" || dir == "down";	var size:Number = bVert 		? (nW / 2 > nH ? nH * 2 : nW)		: (nH / 2 > nW ? nW * 2 : nH);	size -= size % 2;	var halfSize:Number = size / 2;	var x:Number = nX + Math.round((nW - (bVert ? size : halfSize)) / 2);	var y:Number = nY + Math.round((nH - (bVert ? halfSize : size)) / 2);	switch(dir)	{		case "up":			this.drawRect(movie, x, y + halfSize - 2, 1, 2, clr, alpha);			this.drawRect(movie, x + size - 1, y + halfSize - 2, 1, 2, clr, alpha);			for(var i:Number = 1; i < halfSize; i++)			{				this.drawRect(movie, x + i, y + halfSize - i - 2, 1, 3, clr, alpha);				this.drawRect(movie, x + size - i - 1, y + halfSize - i - 2, 1, 3, clr, alpha);			}			break;		case "down":			this.drawRect(movie, x, y, 1, 2, clr, alpha);			this.drawRect(movie, x + size - 1, y, 1, 2, clr, alpha);			for(var i:Number = 1; i < halfSize; i++)			{				this.drawRect(movie, x + i, y + i - 1, 1, 3, clr, alpha);				this.drawRect(movie, x + size - i - 1, y + i - 1, 1, 3, clr, alpha);			}			break;		case "left":			this.drawRect(movie, x + halfSize - 2, y, 2, 1, clr, alpha);			this.drawRect(movie, x + halfSize - 2, y + size - 1, 2, 1, clr, alpha);			for(var i:Number = 1; i < halfSize; i++)			{				this.drawRect(movie, x + halfSize - i - 2, y + i, 3, 1, clr, alpha);				this.drawRect(movie, x + halfSize - i - 2, y + size - i - 1, 3, 1, clr, alpha);			}			break;		case "right":			this.drawRect(movie, x, y, 2, 1, clr, alpha);			this.drawRect(movie, x, y + size - 1, 2, 1, clr, alpha);			for(var i:Number = 1; i < halfSize; i++)			{				this.drawRect(movie, x + i - 1, y + i, 3, 1, clr, alpha);				this.drawRect(movie, x + i - 1, y + size - i - 1, 3, 1, clr, alpha);			}			break;	}}_global.XPLook.prototype.drawScroll = function(movie:MovieClip, nW:Number, nH:Number, col:Number, colBg:Number, data:Object):Void{	this.drawRoundBtn(movie, 0.5, 0, nW, nH, col, colBg, data);	if(data.dir == "vert")	{		if(nH > 15)		{			var x:Number = 3;			var y:Number = Math.round((nH - 8) / 2);			var w:Number = nW - 6;			for(var i:Number = 0; i < 8; i++)				this.drawRect(movie, x + (i % 2 ? 1 : 0), y + i, w, 1, i % 2 ? this.ex_darker(col, 0.8) : this.ex_brighter(col, 0.7), 100);		}	}	else	{		if(nW > 15)		{			var x:Number = Math.round((nW - 8) / 2);			var y:Number = 3;			var h:Number = nH - 6;			for(var i:Number = 0; i < 8; i++)				this.drawRect(movie, x + i, y + (i % 2 ? 1 : 0), h, i % 2 ? this.ex_darker(col, 0.8) : this.ex_brighter(col, 0.7), 1);		}	}}_global.XPLook.prototype.drawScrollBack = function(movie:MovieClip, nW:Number, nH:Number, data:Object):Void{	movie.clear();	var bVert:Boolean = data.dir == "vert";	var colors:Array = new Array(data.clr, 0xfcfcfe);	var alphas:Array = new Array(100, 100);	var ratios:Array = new Array(0, 188);	var matrix:Object = {matrixType:"box", x:0, y:0, w:nW, h:nH, r:bVert ? 0 : Math.PI / 2};	movie.lineStyle(1, data.clr);	movie.beginGradientFill("linear", colors, alphas, ratios, matrix);	this.drawFillRect(movie, 0, 0, nW, nH);	movie.endFill();	movie.lineStyle(undefined);	delete colors;	delete alphas;	delete ratios;	delete matrix;}_global.XPLook.prototype.drawFillRect = function(movie:MovieClip, x:Number, y:Number, w:Number, h:Number):Void{	movie.moveTo(x, y);	movie.lineTo(x + w, y);	movie.lineTo(x + w, y + h);	movie.lineTo(x, y + h);	movie.lineTo(x, y);}_global.XPLook.prototype.drawRoundBtn = function(movie:MovieClip, x:Number, y:Number, w:Number, h:Number, col:Number, colBorder:Number, data:Object):Void{	movie.clear();	var r:Number = Math.min(data.type == data.pLink.BTN_TYPE_SCROLL ? 2 : 4, Math.min(w, h) / 2);	var d:Number = data.type == data.pLink.BTN_TYPE_SCROLL ? 0.5 : 0;	var bVert:Boolean = w < h;	this.fillRoundRect(movie, x, y, w, h, r, col, 100, colBorder, 100);	var colors:Array = new Array(0xffffff, 0xffffff, 0xffffff, 0xffffff);	var alphas:Array = new Array(50, 65, 45, 0);	var ratios:Array = new Array(0, 60, 120, 255);	var flare:Number = (bVert ? w : h) * 2 / 3;	var matrix:Object = bVert		? {matrixType:"box", x:1+d, y:1, w:flare, h:h - 2, r:0}		: {matrixType:"box", x:1+d, y:1, w:w - 2, h:flare, r:Math.PI / 2};	movie.beginGradientFill("linear", colors, alphas, ratios, matrix);	this.drawRoundRect(movie, 1+d, 1, bVert ? flare + 1 : w - 1, bVert ? h - 1 : flare + 1, Math.max(0, r - 0.5));	movie.endFill();	switch(data.mode)	{		case data.pLink.STATE_PRESS: this.fillRoundRect(movie, x, y, w, h, r, 0, 10); break;		case data.pLink.STATE_OVER : this.fillRoundRect(movie, x, y, w, h, r, this.darker(0xffffff), 20); break;	}}_global.XPLook.prototype.drawTitleButton = function(movie:MovieClip, nW:Number, nH:Number, data:Object):Void{	movie.clear();	movie._alpha = 100; // xxx this line fixes alpha value, changed in other themes	var bFaded:Boolean = data.faded && data.mode == data.pLink.STATE_OUT;	switch(data.type)	{		case data.pLink.BTN_TYPE_HIDE:			this.drawSquareBtn(movie, 0, 0, nW, nH, bFaded ? 0x78c5fe : data.clr, globalStyleFormat[data.pLink._highlight], data);			var nOffX:Number = Math.round((0.6*nW) / 2);			var nOffY:Number = Math.round((0.5*nH) / 2);			this.drawRect(movie, nOffX - 1/16*nW, nOffY + 0.4*nW, 0.4*nW, 0.18*nH, globalStyleFormat[data.pLink._arrow]);			break;		case data.pLink.BTN_TYPE_MINIMIZE:			this.drawSquareBtn(movie, 0, 0, nW, nH, bFaded ? 0x78c5fe : data.clr, globalStyleFormat[data.pLink._highlight], data);			var nOffX:Number = Math.round((nW - 9) / 2);			var nOffY:Number = Math.round((nH - 9) / 2);			var clr:Number = globalStyleFormat[data.pLink._arrow];			if(data.state == "sunken")			{				this.drawRect(movie, nOffX + 2, nOffY, 7, 2, clr);				this.drawRect(movie, nOffX + 8, nOffY + 2, 1, 4, clr);				this.drawRect(movie, nOffX, nOffY + 3, 7, 2, clr);				this.drawRect(movie, nOffX, nOffY + 5, 1, 4, clr);				this.drawRect(movie, nOffX + 1, nOffY + 8, 6, 1, clr);				this.drawRect(movie, nOffX + 6, nOffY + 5, 1, 4, clr);			}			else			{				this.drawRect(movie, nOffX, nOffY, 9, 2, clr);				this.drawRect(movie, nOffX, nOffY + 2, 1, 7, clr);				this.drawRect(movie, nOffX + 1, nOffY + 8, 8, 1, clr);				this.drawRect(movie, nOffX + 8, nOffY + 2, 1, 7, clr);			}			break;		case data.pLink.BTN_TYPE_CLOSE:			if(nW > nH)				this.drawRoundBtn(movie, 0, 0, nW, nH, data.clr, globalStyleFormat[data.pLink._highlight], data);			else				this.drawSquareBtn(movie, 0, 0, nW, nH, bFaded ? 0xf9aa7b : data.clr, globalStyleFormat[data.pLink._highlight], data);							this.drawCross(movie, 0, 0, nW, nH, globalStyleFormat[data.pLink._arrow]);			break;	}}_global.XPLook.prototype.drawSquareBtn = function(movie:MovieClip, x:Number, y:Number, w:Number, h:Number, col:Number, colBorder:Number, data:Object):Void{	movie.clear();	var r:Number = Math.min(data.type == data.pLink.BTN_TYPE_SCROLL_LOW || data.type == data.pLink.BTN_TYPE_SCROLL_HI ? 1 : 3, Math.min(w, h) / 2);	this.fillRoundRect(movie, x + 0.5, y + 0.5, w - 0.5, h - 0.5, r, col, 100, colBorder, 100);	var colors:Array = new Array(0xffffff, 0xffffff);	var alphas:Array = new Array(60, 0);	var ratios:Array = new Array(40, 255);	var flareH:Number = h * 2 / 3;	var matrix:Object = {a:w - 2, b:0, c:0, d:0, e:flareH, f:0, g:w / 4, h:h / 4, i:1};	movie.beginGradientFill("radial", colors, alphas, ratios, matrix);	this.drawRoundRect(movie, 1, 1, w - 1, flareH + 1, Math.max(0, r - 0.5));	movie.endFill();	switch(data.mode)	{		case data.pLink.STATE_PRESS: this.fillRoundRect(movie, x, y, w, h, r, 0, 10); break;		case data.pLink.STATE_OVER : this.fillRoundRect(movie, x, y, w, h, r, 0xffffff, 20); break;	}}_global.XPLook.prototype.drawCross = function(movie:MovieClip, nX:Number, nY:Number, nW:Number, nH:Number, clr:Number, alpha:Number):Void{	var size:Number = 0.5*16;	var size2:Number = Math.round(size / 2);	var bx:Number = nX + Math.round((nW - 0.5*nW) / 2);	var by:Number = nY + Math.round((nH - 0.5*nH) / 2);	var dX:Number = 1;	var dY:Number = 1;		var mc:MovieClip = movie.createEmptyMovieClip('mc', 100);	mc._x = bx;	mc._y = by;		var x:Number = 0;	var y:Number = 0;		this.drawLine(mc, x, y, x + size - dX, y + size - dY, clr, alpha);	this.drawLine(mc, x + dX, y, x + size - dX, y + size - 2*dY, clr, alpha);	this.drawLine(mc, x, y + dY, x + size - 2*dX, y + size - dY, clr, alpha);	this.drawLine(mc, x, y + size - dY, x + size2 - 2*dX, y + size2 + dY, clr, alpha);	this.drawLine(mc, x + dX, y + size - dY, x + size2 - dX, y + size2 + dY, clr, alpha);	this.drawLine(mc, x, y + size - 2*dY, x + size2 - 2*dX, y + size2, clr, alpha);

⌨️ 快捷键说明

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