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

📄 defaultgridlinesrenderer.as

📁 拓扑图基于SNMP数据采集模块的设计和实现
💻 AS
字号:
package com.yahoo.astra.fl.charts.axes{	import com.yahoo.astra.utils.NumberUtil;		import fl.core.UIComponent;	/**	 * Renders grid lines associated with a cartesian axis.	 * 	 * @author Josh Tynjala	 */	public class DefaultGridLinesRenderer extends UIComponent implements IGridLinesRenderer	{			//--------------------------------------	//  Constructor	//--------------------------------------				/**		 * Constructor.		 */		public function DefaultGridLinesRenderer()		{			super();		}			//--------------------------------------	//  Properties	//--------------------------------------			/**		 * @private		 * Storage for the axisRenderer property.		 */		private var _axisRenderer:IAxisRenderer;				/**		 * @inheritDoc		 */		public function get axisRenderer():IAxisRenderer		{			return this._axisRenderer;		}				/**		 * @private		 */		public function set axisRenderer(value:IAxisRenderer):void		{			if(this._axisRenderer != value)			{				this._axisRenderer = value;				this.invalidate();			}		}			//--------------------------------------	//  Protected Methods	//--------------------------------------			/**		 * @private		 */		override protected function draw():void		{			this.graphics.clear();						if(!this.axisRenderer)			{				return;			}						var showLines:Boolean = this.getStyleValue("showLines") as Boolean;			var showMinorLines:Boolean = this.getStyleValue("showMinorLines") as Boolean;						//grab the line and minor line data from the axis renderer			var lines:Array = this.axisRenderer.ticks.concat();			var minorLines:Array = this.axisRenderer.minorTicks.concat();			if(showMinorLines && showLines)			{				//filter out minor ticks that appear at the same position				//as major ticks.				minorLines = minorLines.filter(function(item:AxisData, index:int, source:Array):Boolean				{					return !lines.some(function(item2:AxisData, index2:int, source2:Array):Boolean					{						//using fuzzyEquals because we may encounter rounding errors						return NumberUtil.fuzzyEquals(item.position, item2.position, 10);					});				});			}									var lineWeight:int = this.getStyleValue("lineWeight") as int;			var lineColor:uint = this.getStyleValue("lineColor") as uint;			var fillColors:Array = this.getStyleValue("fillColors") as Array;			var fillAlphas:Array = this.getStyleValue("fillAlphas") as Array;			this.drawLines(lines, showLines, lineWeight, lineColor, fillColors, fillAlphas);						var minorLineWeight:int = this.getStyleValue("minorLineWeight") as int;			var minorLineColor:uint = this.getStyleValue("minorLineColor") as uint;			this.drawLines(minorLines, showMinorLines, minorLineWeight, minorLineColor);						super.draw();		}				/**		 * Draws a set of lines based on AxisData positioning.		 */		protected function drawLines(data:Array, showLines:Boolean, lineWeight:Number, lineColor:uint, fillColors:Array = null, fillAlphas:Array = null):void		{				var lastPosition:Number;			var renderer:ICartesianAxisRenderer = ICartesianAxisRenderer(this.axisRenderer);			var dataCount:int = data.length;			for(var i:int = 0; i < dataCount; i++)			{				var axisData:AxisData = AxisData(data[i]);				if(isNaN(axisData.position))				{					//skip bad positions					continue;				}								var position:Number = axisData.position;				if(renderer.orientation == AxisOrientation.VERTICAL)				{					if(!isNaN(lastPosition) && fillColors && fillColors.length > 0)					{						var color:uint = fillColors[(i - 1) % fillColors.length];						var alpha:Number = (fillAlphas && fillAlphas.length > 0) ? fillAlphas[(i - 1) % fillAlphas.length] : 1;						this.graphics.lineStyle(0, 0, 0);						this.graphics.beginFill(color, alpha);						this.graphics.drawRect(0, lastPosition, renderer.contentBounds.width, position - lastPosition);						this.graphics.endFill();					}										if(showLines)					{						this.graphics.lineStyle(lineWeight, lineColor);						this.graphics.moveTo(0, position);						this.graphics.lineTo(renderer.contentBounds.width, position);					}				}				else				{					if(!isNaN(lastPosition) && fillColors && fillColors.length > 0)					{						color = fillColors[(i - 1) % fillColors.length];						alpha = (fillAlphas && fillAlphas.length > 0) ? fillAlphas[(i - 1) % fillAlphas.length] : 1;						this.graphics.lineStyle(0, 0, 0);						this.graphics.beginFill(color, alpha);						this.graphics.drawRect(lastPosition, 0, position - lastPosition, renderer.contentBounds.height);						this.graphics.endFill();					}										if(showLines)					{						this.graphics.lineStyle(lineWeight, lineColor);						this.graphics.moveTo(position, 0);						this.graphics.lineTo(position, renderer.contentBounds.height);					}				}								lastPosition = position;			}		}	}}

⌨️ 快捷键说明

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