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 mx.skins.Border;
16import mx.styles.StyleManager;
17import mx.utils.ColorUtil;
18
19/**
20 *  The skin for the track in a ScrollBar.
21 */
22public class ScrollTrackSkin extends Border
23{
24	include "../mx/core/Version.as";
25
26	//--------------------------------------------------------------------------
27	//
28	//  Constructor
29	//
30	//--------------------------------------------------------------------------
31
32	/**
33	 *  Constructor.
34	 */
35	public function ScrollTrackSkin()
36	{
37		super();
38	}
39
40    //--------------------------------------------------------------------------
41    //
42    //  Overridden properties
43    //
44    //--------------------------------------------------------------------------
45
46    //----------------------------------
47	//  measuredWidth
48    //----------------------------------
49
50    /**
51     *  @private
52     */
53    override public function get measuredWidth():Number
54    {
55        return 16;
56    }
57
58    //----------------------------------
59	//  measuredHeight
60    //----------------------------------
61
62    /**
63     *  @private
64     */
65    override public function get measuredHeight():Number
66    {
67        return 1;
68    }
69
70	//--------------------------------------------------------------------------
71	//
72	//  Overridden methods
73	//
74	//--------------------------------------------------------------------------
75
76	/**
77	 *  @private
78	 */
79	override protected function updateDisplayList(w:Number, h:Number):void
80	{
81		super.updateDisplayList(w, h);
82
83		// User-defined styles.
84		var bevel:Boolean = getStyle("bevel");
85		var fillColors:Array = getStyle("trackColors");
86		StyleManager.getColorNames(fillColors);
87
88		var borderColor:uint =
89			ColorUtil.adjustBrightness2(getStyle("borderColor"), 40);
90
91		var borderColorDrk2:uint =
92			ColorUtil.adjustBrightness2(borderColor, -30);
93
94		graphics.clear();
95
96		if (bevel)
97		{
98			// border
99			drawRoundRect(
100				0, 0, w, h, 0,
101				[ borderColorDrk2, borderColor], 1,
102				horizontalGradientMatrix(0, 0, w, h));
103		}
104		else
105		{
106			// border
107			drawRoundRect(
108				0, 0, w, h, 0,
109				borderColor, 1);
110		}
111
112		// fill
113		drawRoundRect(
114			1, 1, w - 2, h - 2, 0,
115			fillColors, 1,
116			horizontalGradientMatrix(1, 1, w / 3 * 2, h - 2));
117	}
118}
119
120}
121