1////////////////////////////////////////////////////////////////////////////////
2//
3//  ADOBE SYSTEMS INCORPORATED
4//  Copyright 2004-2006 Adobe Systems Incorporated
5//  All Rights Reserved.
6//
7//  NOTICE: Adobe permits you to use, modify, and distribute this file
8//  in accordance with the terms of the license agreement accompanying it.
9//
10////////////////////////////////////////////////////////////////////////////////
11
12package haloclassic
13{
14
15import flash.display.Graphics;
16import mx.skins.Border;
17import mx.styles.StyleManager;
18import mx.utils.ColorUtil;
19
20/**
21 *  The skin for the track in a ProgressBar.
22 */
23public class ProgressTrackSkin extends Border
24{
25	include "../mx/core/Version.as";
26
27    //--------------------------------------------------------------------------
28    //
29    //  Constructor
30    //
31    //--------------------------------------------------------------------------
32
33	/**
34	 *  Constructor.
35	 */
36	public function ProgressTrackSkin()
37	{
38		super();
39	}
40
41	//--------------------------------------------------------------------------
42	//
43	//  Overridden properties
44	//
45	//--------------------------------------------------------------------------
46
47	//----------------------------------
48	//  measuredWidth
49	//----------------------------------
50
51	/**
52	 *  @private
53	 */
54	override public function get measuredWidth():Number
55	{
56		return 200;
57	}
58
59	//----------------------------------
60	//  measuredHeight
61	//----------------------------------
62
63	/**
64	 *  @private
65	 */
66	override public function get measuredHeight():Number
67	{
68		return 6;
69	}
70
71    //--------------------------------------------------------------------------
72    //
73    //  Overridden methods
74    //
75    //--------------------------------------------------------------------------
76
77	/**
78	 *  @private
79	 */
80	override protected function updateDisplayList(w:Number, h:Number):void
81	{
82		super.updateDisplayList(w, h);
83
84		// User-defined styles
85		var bevel:Boolean = getStyle("bevel");
86		var borderColor:uint = getStyle("borderColor");
87		var fillColors:Array = getStyle("trackColors");
88		StyleManager.getColorNames(fillColors);
89
90		var borderColorDrk1:Number =
91			ColorUtil.adjustBrightness2(borderColor, -60);
92
93		var g:Graphics = graphics;
94
95		g.clear();
96
97		if (bevel)
98		{
99			drawRoundRect(
100				0, 0, w, h, 0,
101				borderColorDrk1, 1);
102
103			drawRoundRect(
104				1, 1, w - 1, h - 1, 0,
105				borderColor, 1);
106		}
107		else
108		{
109			drawRoundRect(
110				0, 0, w, h, 0,
111				borderColor, 1);
112		}
113
114		drawRoundRect(
115			1, 1, w - 2, h - 2, 0,
116			fillColors, 1,
117			verticalGradientMatrix(0, 0, w - 2, h - 2));
118	}
119}
120
121}
122