<?xml version="1.0" encoding="utf-8"?>
<Application name="LinearGradient_rotation_test"
xmlns="http://ns.adobe.com/mxml/2009"
layout="vertical"
verticalAlign="middle"
backgroundColor="white"
initialize="init();">
<Script>
<![CDATA[
import mx.containers.ApplicationControlBar;
import mx.containers.Form;
import mx.containers.FormItem;
import mx.controls.HSlider;
import mx.events.SliderEvent;
import mx.graphics.Ellipse;
import mx.graphics.GradientEntry;
import mx.graphics.Graphic;
import mx.graphics.LinearGradient
private var ellipse:Ellipse;
private var linearGrad:LinearGradient;
private var slider:HSlider;
private function init():void {
slider = new HSlider();
slider.minimum = -360;
slider.maximum = 360;
slider.value = 0;
slider.snapInterval = 1;
slider.tickInterval = 45;
slider.liveDragging = true;
slider.addEventListener(SliderEvent.CHANGE, slider_change);
var formItem:FormItem = new FormItem();
formItem.label = "rotation:";
formItem.addChild(slider);
var form:Form = new Form();
form.styleName = "plain";
form.addChild(formItem);
var appControlBar:ApplicationControlBar = new ApplicationControlBar();
appControlBar.dock = true;
appControlBar.addChild(form);
addChildAt(appControlBar, 0);
var entryArr:Array = [];
entryArr.push(new GradientEntry(0xFF0000)); // red
entryArr.push(new GradientEntry(0xFFFFFF)); // white
entryArr.push(new GradientEntry(0x0000FF)); // blue
linearGrad = new LinearGradient();
linearGrad.entries = entryArr;
ellipse = new Ellipse();
ellipse.fill = linearGrad;
ellipse.width = 300;
ellipse.height = 200;
var graphic:Graphic = new Graphic();
graphic.addItem(ellipse);
addChild(graphic);
}
private function slider_change(evt:SliderEvent):void {
linearGrad.rotation = evt.value;
// or
// LinearGradient(ellipse.fill).rotation = evt.value;
}
]]>
</Script>
</Application>