選択したオブジェクト ( Display Object 、UIComponent または Group ) の塗りつぶしプロパティ(* Color and Gradient *)を設計したいと考えています。色のインターフェイスを設計しましたが、塗りつぶしの色でしか機能しません。塗りつぶしの色と塗りつぶしのグラデーションを同時に設計して、ユーザーが自分の要件に応じて色またはグラデーションを塗りつぶすことができるようにする方法。
単一のオブジェクト コードは次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
implements="sharedData.IObjectProperty"
xmlns:mx="library://ns.adobe.com/flex/mx" width="120" height="70">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
import mx.graphics.GradientEntry;
import mx.graphics.LinearGradient;
import mx.graphics.SolidColor;
private var _color:uint = 0xFFFFFF;
private var _alpha:uint=1;
private var _strokeColor:uint = 0x000000;
private var _strokeAlpha:uint = 1;
private var _strokeWeight:uint =1;
[Bindable]
public function get strokeColor():uint
{
return _strokeColor;
}
public function set strokeColor(Color:uint):void
{
_strokeColor = Color;
}
[Bindable]
public function get strokeAlpha():uint
{
return _strokeAlpha;
}
public function set strokeAlpha(Size:uint):void
{
_strokeAlpha = Size;
}
[Bindable]
public function get strokeWeight():uint
{
return _strokeWeight;
}
public function set strokeWeight(Weight:uint):void
{
_strokeWeight = Weight;
}
/*property for color and alpha*/
[Bindable]
public function get ObjColor():uint
{
return _color;
}
public function set ObjColor(ColorObj:uint):void
{
_color = ColorObj;
}
[Bindable]
public function get ObjAlpha():uint
{
return _alpha;
}
public function set ObjAlpha(AlphaObj:uint):void
{
_alpha = AlphaObj;
}
]]>
</fx:Script>
<!--s:Path width="100%" height="100%" data="M 10 0 L 120 0 L 110 10 L 0 10 L 10 0 M 110 10 L 110 70 L 0 70 L 0 10 M 120 0 L 120 60 L 110 70">
<s:stroke>
<s:SolidColorStroke color="#000033" alpha="1"
weight="1" pixelHinting="true"/>
</s:stroke>
<s:fill>
<s:SolidColor color="#FFFFFF" alpha="0.5"/>
</s:fill>
</s:Path-->
<s:Path width="100%" height="100%" data="M 10 0 L 130 0 L 120 10 L 0 10 L 10 0 M 0 10 L 0 70 L 120 70 L 120 10 M 120 70 L 130 60 L 130 0 L 120 10" id="iface">
<s:stroke>
<s:SolidColorStroke alpha="{strokeAlpha}" color="{strokeColor}" weight="{strokeWeight}"/>
</s:stroke>
<s:fill>
<s:SolidColor alpha="{ObjAlpha}" color="{ObjColor}">
</s:SolidColor>
</s:fill>
</s:Path>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
</s:Group>
`