package skins { import mx.skins.Border; public class VScrollArrowDown extends Border { private var thickness: Number = 15; override public function get measuredWidth():Number { return thickness;//ScrollBar.THICKNESS; } override public function get measuredHeight():Number { return thickness;//ScrollBar.THICKNESS; } private var colBackground: uint = 0xFFFFFF; private var colStrip: uint = 0x444444; private var stripAlpha: Number = 0.3; override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void { super.updateDisplayList(unscaledWidth, unscaledHeight); graphics.clear(); colStrip = getStyle('borderColor'); colBackground = getStyle('fillColors')[0]; var isUp: Boolean = (name.indexOf('up') != -1); switch (name) { case "upArrowUpSkin": case "downArrowUpSkin": break; case "upArrowOverSkin": case "downArrowOverSkin": stripAlpha = 0.6; break; case "upArrowDownSkin": case "downArrowDownSkin": stripAlpha = 0.8; break; default: break; } graphics.lineStyle(1, colStrip, stripAlpha + 0.2); drawRoundRect(0,0,unscaledWidth, unscaledHeight, 0, colBackground, 1); with (graphics) { lineStyle(2, colStrip, stripAlpha); var cX: int = unscaledWidth/2; var cY: int = unscaledHeight/2; if (isUp) { moveTo(cX, cY - 4); lineTo(cX + 3, cY + 4); lineTo(cX - 3, cY + 5); lineTo(cX-2, cY - 4+2); } else { moveTo(cX + 3, cY - 4); lineTo(cX - 3, cY - 5); lineTo(cX, cY + 4); lineTo(cX + 2, cY - 4 + 2); } } } } }