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

📄 aqualook.as

📁 太烦了
💻 AS
📖 第 1 页 / 共 5 页
字号:
				break;
		}
	}

	private function drawBtnOver(movie:MovieClip, nW:Number, nH:Number, data:Object):Void
	{
		switch(data.type)
		{
			case "resizeLeft":
			case "resizeRight":
			case "resizeTop":
			case "resizeBottom":
				drawResizeBtnLayer(movie, nW, nH, data);
				break;
			case "resizeTitle":
				drawResizeTitle(movie, nW, nH, data);
				break;
			case "edit":
				drawLayer(movie, nW, nH, 0xffffff, 0xc7c7c7, data.border);
				break;
			case "scrollBack":
				break;
			case "comboBoxBtn":
				drawComboBoxBtn(movie, nW, nH, data);
				break;
			case "scroll":
				movie.clear();
				drawRoundDrop(movie, 0, 0, nW, nH, 0xccd5dd, data);
				break;
			case "scrollLow":
			case "scrollHi":
				drawScrollLayer(movie, nW, nH, data);
				break;
			case "titledIconButton":
			case "url":
				movie.clear();
				break;
			case "titleBtnBack":
				drawTitleBack(movie, nW, nH, data);
				break;
			case "titleBtnHide":
			case "titleBtnMinimize":
			case "titleBtnClose":
				drawTitleButton(movie, nW, nH, data);
				break;
			case "resizeHandle":
				drawResizeHandleBtn(movie, nW, nH, 0x8f8f8f);
				break;
			case "comboBox":
				drawLayer(movie, nW, nH, 0xffffff, m_clrHighlight, data.border);
				break;
			case "btnGo":
				movie.clear();
				drawRoundDrop(movie, 0, 0, nW, nH, 0xc8cfd7, data);
				drawGo(movie, 0, 0, nW, nH, 0);
				break;
			case "checkbox":
				drawBtnCheckBox(movie, nW, nH, data);
				break;
			default:
				movie.clear();
				if(data.state)
					drawRoundDrop(movie, 0, 0, nW, nH, data.state == "sunken" ? 0x8595a7 : 0xeeeeee, data);
				else
					drawRoundDrop(movie, 0, 0, nW, nH, 0xc8cfd7, data);
				break;
		}
	}

	private function drawBtnPress(movie:MovieClip, nW:Number, nH:Number, data:Object):Void
	{
		switch(data.type)
		{
			case "resizeLeft":
			case "resizeRight":
			case "resizeTop":
			case "resizeBottom":
				drawResizeBtnLayer(movie, nW, nH, data, m_clrBtnPressed, m_clrHighlight, m_clrHilightText);
				break;
			case "resizeTitle":
				drawResizeTitle(movie, nW, nH, data);
				break;
			case "edit":
				drawLayer(movie, nW, nH, 0xffffff, 0xa0a0a0, data.border);
				break;
			case "scrollBack":
				break;
			case "comboBoxBtn":
				drawComboBoxBtn(movie, nW, nH, data);
				break;
			case "scroll":
				movie.clear();
				drawRoundDrop(movie, 0, 0, nW, nH, 0xC0C9D1, data);
				break;
			case "scrollLow":
			case "scrollHi":
				drawScrollLayer(movie, nW, nH, data);
				break;
			case "titledIconButton":
			case "url":
				movie.clear();
				break;
			case "titleBtnBack":
				drawTitleBack(movie, nW, nH, data);
				break;
			case "titleBtnHide":
			case "titleBtnMinimize":
			case "titleBtnClose":
				drawTitleButton(movie, nW, nH, data);
				break;
			case "resizeHandle":
				drawResizeHandleBtn(movie, nW, nH, 0x8f8f8f);
				break;
			case "comboBox":
				drawLayer(movie, nW, nH, 0xffffff, m_clrHighlight, data.border);
				break;
			case "btnGo":
				movie.clear();
				drawRoundDrop(movie, 0, 0, nW, nH, 0xb5bec8, data);
				drawGo(movie, 0, 0, nW, nH, 0xffffff);
				break;
			case "checkbox":
				drawBtnCheckBox(movie, nW, nH, data);
				break;
			default:
				movie.clear();
				if(data.state)
					drawRoundDrop(movie, 0, 0, nW, nH, data.state == "sunken" ? 0x6b7e94 : 0xdddddd, data);
				else
					drawRoundDrop(movie, 0, 0, nW, nH, 0xb5bec8, data);
				break;
		}
	}

	private function drawTitleBack(movie:MovieClip, nW:Number, nH:Number, data:Object):Void
	{
		drawBaseTitle(movie, nW, nH, data);
	}

	private function drawResizeHandleBtn(movie:MovieClip, nW:Number, nH:Number, clr:Number):Void
	{
		movie.clear();
		movie.lineStyle(1, clr);
		movie.beginFill(0xffffff, 100);
		drawFillRect(movie, 0.5, 0.5, nW - 1, nH - 1);
		movie.endFill();
		movie.lineStyle(undefined);
		for(var i:Number = 3; i < nW - 2; i += 3)
		{
			drawLine(movie, i, nH - 3, nW - 3, i, clr);
			i++;
			drawLine(movie, i, nH - 3, nW - 3, i, clr);
		}
	}

	private function drawLine(movie:MovieClip, x1:Number, y1:Number, x2:Number, y2:Number, clr:Number, alpha:Number):Void
	{
		var dx:Number = Math.abs(x2 - x1);
		var dy:Number = Math.abs(y2 - y1);
		var sx:Number = x2 >= x1 ? 1 : -1;
		var sy:Number = y2 >= y1 ? 1 : -1;
		pseudo.Global.drawRect(movie, x1, y1, 1, 1, clr, alpha);
		if(dy <= dx)
		{
			var d1:Number = dy << 1;
			var d:Number  = d1 - dx;
			var d2:Number = ( dy - dx ) << 1;
			var x:Number = x1 + sx;
			var y:Number = y1;
			for(var i:Number = 1; i <= dx; i++)
			{
				if (d > 0)
				{
					d += d2;
					y += sy;
				}
				else d += d1;
				pseudo.Global.drawRect(movie, x, y, 1, 1, clr, alpha);
				x += sx;
			}
		}
		else
		{
			var d1:Number = dx << 1;
			var d:Number  = d1 - dy;
			var d2:Number = (dx - dy) << 1;
			var x:Number = x1;
			var y:Number = y1 + sy;
			for (var i:Number = 1; i <= dy; i++)
			{
				if( d > 0)
				{
					d += d2;
					x += sx;
				}
				else d += d1;
				pseudo.Global.drawRect(movie, x, y, 1, 1, clr, alpha);
				y += sy;
			}
		}
	}

	private function drawTitleButton(movie:MovieClip, nW:Number, nH:Number, data:Object):Void
	{
		movie.clear();
		movie._alpha = 100; // xxx this line fixes alpha value, changed in other themes
		if(!data.faded || data.mode != "out")
		{
			var clr:Number = data.mode == "press" ? 0xffffff : 0;
			var alpha:Number = data.mode == "press" ? 100 : 60;
			switch(data.type)
			{
				case "titleBtnHide":
					drawDrop(movie, 0, 0, nW, nH, 0x8add00, data);
					if(data.mode == "press" || data.mode == "over")
						drawMinus(movie, 0, 0, nW, nH, clr, alpha);
					break;
				case "titleBtnMinimize":
					drawDrop(movie, 0, 0, nW, nH, 0xffd220, data);
					if(data.mode == "press" || data.mode == "over")
						drawPlus(movie, 0, 0, nW, nH, clr, alpha);
					break;
				case "titleBtnClose":
					drawDrop(movie, 0, 0, nW, nH, 0xf42d2d, data);
					if(data.mode == "press" || data.mode == "over")
						drawCross(movie, 0, 0, nW, nH, clr, alpha);
					break;
			}
		}
		else drawDrop(movie, 0, 0, nW, nH, 0xf0f0f0);
	}

	private function drawPane(movie:MovieClip, nW:Number, nH:Number, data:Object):Void
	{
		switch(data.type)
		{
			case "utilitiesPane":
			case "infoPane":
			case "comboBoxPane":
				drawLayer(movie, nW, nH, 0xffffff, 0x8f8f8f, data.border);
				break;
			case "topPane":
				drawLayer(movie, nW, nH, 0xdddddd, 0x8f8f8f, data.border);
				break;
			default:
				drawLayer(movie, nW, nH, 0xf0f0f0, 0x8f8f8f, data.border);
				break;
		}
	}

	private function drawResizeLine(movie:MovieClip, nX:Number, nY:Number, nW:Number, nH:Number):Void
	{
		movie.clear();
		pseudo.Global.drawRect(movie, nX, nY, nW, nH, 0xa0a0a0);
	}

	private function drawSign(movie:MovieClip, w:Number, h:Number):Void
	{
		var strPath:String = getIconPath("contentPreloader");
		if(movie["icon"].iconPath != strPath)
		{ // we load icon only if it is new or different icon
			var listener:Object = new Object();
			listener.w = w;
			listener.h = h;
			listener.movie = movie;
			listener.path = strPath;
			listener.onLoadInit = function(target:MovieClip):Void
			{
				target._x = Math.round(-target._width / 2);
				target._y = Math.round(-target._height / 2);
				target.iconPath = this.path;
				this.movie.fireEvent("onLoadIcon");
				delete this.loader;
				delete this;
			}
			var loader:MovieClipLoader = new MovieClipLoader();
			listener.loader = loader;
			loader.addListener(listener);
			loader.loadClip(strPath, movie.createEmptyMovieClip("icon", 2));
		}
	}

	private function drawLabel(movie:MovieClip, nW:Number, nH:Number, data:Object):Void
	{
		switch(data.type)
		{
			case "edit":
				drawButton(movie, nW, nH, data);
				break;
			case "info":
				movie.clear();
				pseudo.Global.drawRect(movie, 0, 0, nW, nH, 0xf0f0f0);
				break;
		}
	}

	private function drawIconLayer(movie:MovieClip, nW:Number, nH:Number, data:Object):Void
	{
		var strPath:String = getIconPath(data.icon);
		var icon:MovieClip = movie["icon"];
		var iconH:Number = data.iconH ? data.iconH : nH;
		var iconW:Number = nW;
		if(!icon || icon.iconPath != strPath)
		{ // we are loading icon only if it is new or different icon
			var listener:Object = new Object();
			listener.onLoadInit = function(target:MovieClip):Void
			{
				target._x = Math.round((iconW - target._width) / 2);
				target._y = Math.round((iconH - target._height) / 2);
				target.iconPath = strPath;
				if(data.drawBg)
				{
					movie.clear();
					if(data.fldText)
						pseudo.Global.drawRect(movie, target._x, target._y, target._width, iconH + 2, 0, 0);
					else
						pseudo.Global.drawRect(movie, 0, 0, iconW, iconH, 0, 0);
				}
				delete this.loader;
				delete this;
				movie.fireEvent("loaded", target);
			}
			var loader:MovieClipLoader = new MovieClipLoader();
			listener.loader = loader;
			loader.addListener(listener);
			loader.loadClip(strPath, movie.createEmptyMovieClip("icon", 2));
		}
		else
		{
			movie.fireEvent("loaded", icon);
			icon._x = Math.round((iconW - icon._width) / 2);
			icon._y = Math.round((iconH - icon._height) / 2);
			if(data.drawBg)
			{
				movie.clear();
				if(data.fldText)
					pseudo.Global.drawRect(movie, icon._x, icon._y, icon._width, iconH + 2, 0, 0);
				else
					pseudo.Global.drawRect(movie, 0, 0, iconW, iconH, 0, 0);
			}
		}
		data.fldText.background = false; // these 2 fields should be set to false
		data.fldText.border = false;
		var x:Number = data.fldText._x;
		var y:Number = data.fldText._y;
		var w:Number = data.fldText._width;
		var h:Number = data.fldText._height;
		var clr = new Color(movie["icon"]);
		var matrix:Object;
		switch(data.mode)
		{
			case "over":
				matrix = {ra:'85', rb:'0', ga:'85', gb:'0', ba:'85', bb:'0'};
				var colors:Array = [0x576877, 0xf4f4f4];
				var alphas:Array = [100, 100];
				var ratios:Array = [0, 210];
				var matrixGrad = {matrixType:"box", x:x, y:y, w:w, h:h, r:Math.PI / 2};
				movie.beginGradientFill("linear", colors, alphas, ratios, matrixGrad);
				drawRoundRect(movie, x, y, x + w, y + h, 3);
				movie.endFill();
				colors = [0xffffff, 0xffffff];
				alphas = [100, 30];
				ratios = [10, 255];
				matrixGrad = {matrixType:"box", x:x, y:y, w:w, h:h * 0.5, r:Math.PI / 2};
				movie.beginGradientFill("linear", colors, alphas, ratios, matrixGrad);
				drawRoundRect(movie, x, y, x + w, y + h * 0.5, 3);
				movie.endFill();
				drawRoundRect(movie, x + 0.5, y + 0.5, x + w - 0.5, y + h - 0.5, 3, 0xaaaaaa);
				break;
			case "press":
				matrix = {ra:'75', rb:'0', ga:'75', gb:'0', ba:'80', bb:'10'};
				movie.beginFill(m_clrBtnPressed, 100);
				drawRoundRect(movie, x, y, x + w, y + h, 3);
				movie.endFill();
				break;
			case "out":
				matrix = {ra:'100', rb:'0', ga:'100', gb:'0', ba:'100', bb:'0'};
				break;
		}
		clr.setTransform(matrix);
	}

	private function drawLayer(movie:MovieClip, nW:Number, nH:Number, clrFill:Number, clrBorder:Number, nBorder:Number):Void
	{
		if(nBorder == undefined || nBorder == null) nBorder = 1 + 2 + 4 + 8; // draw all border lines on default
		movie.clear();
		pseudo.Global.drawRect(movie, 0, 0, nW, nH, clrFill);
    if(nBorder & 1) pseudo.Global.drawRect(movie, 0, 0, nW, 1, clrBorder);
    if(nBorder & 2) pseudo.Global.drawRect(movie, 0, 0, 1, nH, clrBorder);
    if(nBorder & 4) pseudo.Global.drawRect(movie, 0, nH - 1, nW, 1, clrBorder);
    if(nBorder & 8) pseudo.Global.drawRect(movie, nW - 1, 0, 1, nH, clrBorder);
	}

	private function drawCheckBox(movie:MovieClip, x:Number, y:Number, data:Object):Void
	{
		movie.beginFill(0x8f8f8f, 100);
		drawRoundRect(movie, x, y, x + 13, y + 13, 1);
		movie.endFill();
		;

⌨️ 快捷键说明

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