| <?xml version="1.0" encoding="utf-8"?> |
| <!-- |
| |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| |
| --> |
| |
| |
| <!--- The Spark skin class for the MX RadioButton component. |
| |
| @see mx.controls.RadioButton |
| |
| @langversion 3.0 |
| @playerversion Flash 10 |
| @playerversion AIR 1.5 |
| @productversion Flex 4 |
| --> |
| <local:SparkSkinForHalo xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" |
| xmlns:local="mx.skins.spark.*" |
| disabledAlpha="0.5"> |
| <!-- have to use disabledAlpha style rather than alpha.disabled as in most of our skins |
| because the enabled property gets pushed down in here from the Halo button, and since |
| the skin is a Group, it handles setting of alpha when disabled via the disabledAlpha style --> |
| |
| <fx:Script> |
| /* Define the skin elements that should not be colorized. |
| For button, the graphics are colorized but the dot is not. */ |
| static private const exclusions:Array = ["dot"]; |
| /** |
| * @private |
| */ |
| override public function get colorizeExclusions():Array {return exclusions;} |
| |
| /* Define the symbol fill items that should be colored by the "symbolColor" style. */ |
| static private const symbols:Array = ["dotFill"]; |
| /** |
| * @private |
| */ |
| override public function get symbolItems():Array {return symbols}; |
| |
| /* Define the border items.*/ |
| static private const borderItem:Array = ["borderEntry1", "borderEntry2"]; |
| /** |
| * @private |
| */ |
| override protected function get borderItems():Array {return borderItem;} |
| |
| /** |
| * @private |
| */ |
| override protected function initializationComplete():void |
| { |
| useChromeColor = true; |
| super.initializationComplete(); |
| } |
| </fx:Script> |
| |
| <local:states> |
| <s:State name="up" /> |
| <s:State name="over" stateGroups="overStates" /> |
| <s:State name="down" stateGroups="downStates" /> |
| <s:State name="disabled" stateGroups="disabledStates" /> |
| <s:State name="selectedUp" stateGroups="selectedStates" /> |
| <s:State name="selectedOver" stateGroups="overStates, selectedStates" /> |
| <s:State name="selectedDown" stateGroups="downStates, selectedStates" /> |
| <s:State name="selectedDisabled" stateGroups="disabledStates, selectedStates" /> |
| </local:states> |
| |
| <s:Group width="13" height="13"> |
| <!-- drop shadow --> |
| <s:Ellipse left="-1" top="-1" right="-1" bottom="-1"> |
| <s:stroke> |
| <s:LinearGradientStroke rotation="90" weight="1"> |
| <s:GradientEntry color="0x000000" |
| color.downStates="0xFFFFFF" |
| alpha="0.011" |
| alpha.downStates="0" /> |
| <s:GradientEntry color="0x000000" |
| color.downStates="0xFFFFFF" |
| alpha="0.121" |
| alpha.downStates="0.57" /> |
| </s:LinearGradientStroke> |
| </s:stroke> |
| </s:Ellipse> |
| |
| <!-- fill --> |
| <s:Ellipse left="1" top="1" right="1" bottom="1"> |
| <s:fill> |
| <s:LinearGradient rotation="90"> |
| <s:GradientEntry color="0xFFFFFF" |
| color.overStates="0xBBBDBD" |
| color.downStates="0xAAAAAA" |
| alpha="0.85" /> |
| <s:GradientEntry color="0xD8D8D8" |
| color.overStates="0x9FA0A1" |
| color.downStates="0x929496" |
| alpha="0.85" /> |
| </s:LinearGradient> |
| </s:fill> |
| </s:Ellipse> |
| |
| <!-- fill highlight --> |
| <s:Path data="M 1 6 Q 2 2 6 1 Q 11 2 12 6 h -9"> |
| <s:fill> |
| <s:SolidColor color="0xFFFFFF" alpha="0.33" /> |
| </s:fill> |
| </s:Path> |
| |
| <!-- layer 6: highlight stroke (all states except down) --> |
| <s:Ellipse left="1" right="1" top="1" bottom="1"> |
| <s:stroke> |
| <s:LinearGradientStroke rotation="90" weight="1"> |
| <s:GradientEntry color="0xFFFFFF" color.downStates="0x939393" alpha.overStates="0.22" /> |
| <s:GradientEntry color="0xD8D8D8" color.downStates="0xB1B1B1" alpha.overStates="0.22" /> |
| </s:LinearGradientStroke> |
| </s:stroke> |
| </s:Ellipse> |
| <s:Rect left="5" top="1" right="5" height="1"> |
| <s:fill> |
| <s:SolidColor color="0xFFFFFF" |
| color.downStates="0x939393" |
| alpha.overStates="0.22" /> |
| </s:fill> |
| </s:Rect> |
| |
| <!-- border - put on top of the fill so it doesn't disappear when scale is less than 1 --> |
| <s:Ellipse left="0" top="0" right="0" bottom="0"> |
| <s:stroke> |
| <s:LinearGradientStroke rotation="90" weight="1"> |
| <!--- @private --> |
| <s:GradientEntry id="borderEntry1" alpha="0.70" /> |
| <!--- @private --> |
| <s:GradientEntry id="borderEntry2" alpha="0.80" /> |
| </s:LinearGradientStroke> |
| </s:stroke> |
| </s:Ellipse> |
| |
| <!-- dot --> |
| <!--- @private --> |
| <s:Path left="4" top="4" includeIn="selectedStates" id="dot" itemCreationPolicy="immediate" |
| data="M 2.5 0 Q 4.5 0.5 5 2.5 Q 4.5 4.5 2.5 5 Q 0.5 4.5 0 2.5 Q 0.5 0.5 2.5 0"> |
| <s:fill> |
| <!--- @private --> |
| <s:SolidColor id="dotFill" color="0" alpha="0.9" /> |
| </s:fill> |
| </s:Path> |
| <s:Path left="4" top="7" includeIn="selectedStates" |
| data="M 0 0 Q 0.5 2 2.5 2.0 Q 3.5 2.0 4 0"> |
| <s:stroke> |
| <s:LinearGradientStroke> |
| <s:GradientEntry color="0xFFFFFF" alpha="0.3" /> |
| <s:GradientEntry color="0xFFFFFF" alpha="0.7" /> |
| <s:GradientEntry color="0xFFFFFF" alpha="0.3" /> |
| </s:LinearGradientStroke> |
| </s:stroke> |
| </s:Path> |
| </s:Group> |
| </local:SparkSkinForHalo> |