package com.oxylusflash.book { import com.oxylusflash.book.GenericButton; import flash.filters.DropShadowFilter; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class DynamicButton extends GenericButton { public var labelTxt:TextField; private var _label:String; /** * Default form button. */ public function DynamicButton() { var shadow:DropShadowFilter = Global.SHADOW.clone() as DropShadowFilter; shadow.distance = 0; shadow.blurX = shadow.blurY = 2; shadow.strength = 0.2; normalState.filters = [shadow]; labelTxt.autoSize = TextFieldAutoSize.LEFT; labelTxt.styleSheet = Global.styleSheet; labelTxt.condenseWhite = true; labelTxt.wordWrap = false; labelTxt.multiline = false; this.label = ""; } /** * Button label (HTML) */ public function get label():String { return _label; } public function set label(value:String):void { if (_label != value) { _label = value; labelTxt.htmlText = _label; normalState.width = Math.round(labelTxt.width); overState.width = normalState.width; } } } }