package { import de.popforge.parameter.Parameter; import flash.display.Graphics; import flash.display.Shape; import flash.display.Sprite; import flash.net.SharedObject; import net.saqoosha.gui.ParameterSlider; [SWF(width=640,height=480,backgroundColor=0xffffff,frameRate=60)] public class ParameterSliderTest extends Sprite { private var _radiusSlider:ParameterSlider; private var _thicknessSlider:ParameterSlider; private var _alphaSlider:ParameterSlider; private var _canvas:Shape; public function ParameterSliderTest() { this._canvas = this.addChild(new Shape()) as Shape; this._canvas.x = 320; this._canvas.y = 240; var so:SharedObject = SharedObject.getLocal('parameter'); this._radiusSlider = this.addChild(ParameterSlider.createInt(10, 300, 100, 300, 'radius', so)) as ParameterSlider; this._radiusSlider.parameter.addChangedCallbacks(this.onParameterChanged); this._radiusSlider.x = this._radiusSlider.y = 10; this._thicknessSlider = this.addChild(ParameterSlider.createInt(1, 50, 15, 300, 'thickness', so)) as ParameterSlider; this._thicknessSlider.parameter.addChangedCallbacks(this.onParameterChanged); this._thicknessSlider.x = 10; this._thicknessSlider.y = 30; this._alphaSlider = this.addChild(ParameterSlider.createNumber(0, 1, 1, 300, 'alpha', so)) as ParameterSlider; this._alphaSlider.parameter.addChangedCallbacks(this.onParameterChanged); this._alphaSlider.x = 10; this._alphaSlider.y = 50; this.draw(); } private function onParameterChanged(parameter:Parameter, oldValue:*, newValue:*):void { this.draw(); } private function draw():void { var g:Graphics = this._canvas.graphics; g.clear(); g.lineStyle(this._thicknessSlider.value, 0x0, this._alphaSlider.value); g.drawCircle(0, 0, this._radiusSlider.value); } } }