| <?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 default button. The default button is |
| used in panels such as an Alert. |
| |
| @see mx.controls.Alert |
| |
| @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.*" |
| minWidth="21" minHeight="19" |
| alpha.disabledStates="0.5"> |
| |
| <fx:Script> |
| <![CDATA[ |
| /* 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(); |
| } |
| |
| /** |
| * @private |
| */ |
| override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number) : void |
| { |
| var cr:Number = getStyle("cornerRadius"); |
| |
| if (cornerRadius != cr) |
| { |
| cornerRadius = cr; |
| shadow.radiusX = cornerRadius; |
| fill.radiusX = cornerRadius; |
| lowlight.radiusX = cornerRadius; |
| highlight.radiusX = cornerRadius; |
| border.radiusX = cornerRadius; |
| } |
| |
| if (highlightStroke) highlightStroke.radiusX = cornerRadius; |
| if (hldownstroke1) hldownstroke1.radiusX = cornerRadius; |
| if (hldownstroke2) hldownstroke2.radiusX = cornerRadius; |
| |
| // Use the accentColor style, at 24%, as the offset for the fill and |
| // highlightStroke color transform. |
| var accentColor:uint = getStyle("accentColor"); |
| var colorTransform:ColorTransform = new ColorTransform(); |
| colorTransform.redOffset = (((accentColor & (0xFF << 16)) >> 16)) * 0.24; |
| colorTransform.greenOffset = (((accentColor & (0xFF << 8)) >> 8)) * 0.24; |
| colorTransform.blueOffset = ((accentColor & 0xFF)) * 0.24; |
| colorTransform.alphaMultiplier = 1; |
| |
| fill.transform.colorTransform = colorTransform; |
| if (highlightStroke) |
| highlightStroke.transform.colorTransform = colorTransform; |
| |
| super.updateDisplayList(unscaledWidth, unscaledHeight); |
| } |
| |
| private var cornerRadius:Number = 2; |
| |
| ]]> |
| </fx:Script> |
| |
| <!-- states --> |
| <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, selectedUpStates" /> |
| <s:State name="selectedOver" stateGroups="overStates, selectedStates" /> |
| <s:State name="selectedDown" stateGroups="downStates, selectedStates" /> |
| <s:State name="selectedDisabled" stateGroups="selectedUpStates, disabledStates, selectedStates" /> |
| </local:states> |
| |
| <!-- layer 1: shadow --> |
| <!--- @private --> |
| <s:Rect id="shadow" left="-1" right="-1" top="-1" bottom="-1" radiusX="2"> |
| <s:fill> |
| <s:LinearGradient rotation="90"> |
| <s:GradientEntry color="0x000000" |
| color.downStates="0xFFFFFF" |
| alpha="0.01" |
| alpha.downStates="0" /> |
| <s:GradientEntry color="0x000000" |
| color.downStates="0xFFFFFF" |
| alpha="0.07" |
| alpha.downStates="0.5" /> |
| </s:LinearGradient> |
| </s:fill> |
| </s:Rect> |
| |
| <!-- layer 2: fill --> |
| <!--- @private --> |
| <s:Rect id="fill" left="1" right="1" top="1" bottom="1" radiusX="2"> |
| <s:fill> |
| <s:LinearGradient rotation="90"> |
| <s:GradientEntry color="0xAFABB0" |
| color.selectedUpStates="0x989699" |
| color.overStates="0x989699" |
| color.downStates="0x8B8D93" |
| alpha="0.85" |
| alpha.selectedOver="1" /> |
| <s:GradientEntry color="0x888FA6" |
| color.selectedUpStates="0x676E9E" |
| color.over="0x676E9E" |
| color.selectedOver="0x676E9E" |
| color.downStates="0x676E9E" |
| alpha="0.85" |
| alpha.selectedOver="1" /> |
| </s:LinearGradient> |
| </s:fill> |
| </s:Rect> |
| |
| <!-- layer 3: fill lowlight --> |
| <!--- @private --> |
| <s:Rect id="lowlight" left="1" right="1" top="1" bottom="1" radiusX="2"> |
| <s:fill> |
| <s:LinearGradient rotation="270"> |
| <s:GradientEntry color="0x000000" ratio="0.0" alpha="0.0627" /> |
| <s:GradientEntry color="0x000000" ratio="0.48" alpha="0.0099" /> |
| <s:GradientEntry color="0x000000" ratio="0.48001" alpha="0" /> |
| </s:LinearGradient> |
| </s:fill> |
| </s:Rect> |
| |
| <!-- layer 4: fill highlight --> |
| <!--- @private --> |
| <s:Rect id="highlight" left="1" right="1" top="1" bottom="1" radiusX="2"> |
| <s:fill> |
| <s:LinearGradient rotation="90"> |
| <s:GradientEntry color="0xFFFFFF" |
| ratio="0.0" |
| alpha="0.33" |
| alpha.selectedUpStates="0.22" |
| alpha.overStates=".22" |
| alpha.downStates="0.12"/> |
| <s:GradientEntry color="0xFFFFFF" |
| ratio="0.48" |
| alpha="0.33" |
| alpha.selectedUpStates="0.22" |
| alpha.overStates=".22" |
| alpha.downStates="0.12" /> |
| <s:GradientEntry color="0xFFFFFF" |
| ratio="0.48001" |
| alpha="0" /> |
| </s:LinearGradient> |
| </s:fill> |
| </s:Rect> |
| |
| <!-- layer 5: highlight stroke (all states except down) --> |
| <!--- @private --> |
| <s:Rect id="highlightStroke" left="1" right="1" top="1" bottom="1" radiusX="2" excludeFrom="downStates"> |
| <s:stroke> |
| <s:LinearGradientStroke rotation="90" weight="1"> |
| <s:GradientEntry color="0xD6C5BA" alpha.overStates="0.22" alpha.selectedUpStates="0.33" /> |
| <s:GradientEntry color="0x9092A6" alpha.overStates="0.22" alpha.selectedUpStates="0.33" /> |
| </s:LinearGradientStroke> |
| </s:stroke> |
| </s:Rect> |
| |
| <!-- layer 6: highlight stroke (down state only) --> |
| <!--- @private --> |
| <s:Rect id="hldownstroke1" left="1" right="1" top="1" bottom="1" radiusX="2" |
| includeIn="downStates, selectedUpStates, selectedOver"> |
| <s:stroke> |
| <s:LinearGradientStroke rotation="90" weight="1"> |
| <s:GradientEntry color="0x000000" alpha="0.25" ratio="0.0" /> |
| <s:GradientEntry color="0x000000" alpha="0.25" ratio="0.001" /> |
| <s:GradientEntry color="0x000000" alpha="0.07" ratio="0.0011" /> |
| <s:GradientEntry color="0x000000" alpha="0.07" ratio="0.965" /> |
| <s:GradientEntry color="0x000000" alpha="0.00" ratio="0.9651" /> |
| </s:LinearGradientStroke> |
| </s:stroke> |
| </s:Rect> |
| <!--- @private --> |
| <s:Rect id="hldownstroke2" left="2" right="2" top="2" bottom="2" radiusX="2" |
| includeIn="downStates, selectedUpStates, selectedOver"> |
| <s:stroke> |
| <s:LinearGradientStroke rotation="90" weight="1"> |
| <s:GradientEntry color="0x000000" alpha="0.09" ratio="0.0" /> |
| <s:GradientEntry color="0x000000" alpha="0.00" ratio="0.0001" /> |
| </s:LinearGradientStroke> |
| </s:stroke> |
| </s:Rect> |
| |
| <!-- layer 7: border - put on top of the fill so it doesn't disappear when scale is less than 1 --> |
| <!--- @private --> |
| <s:Rect id="border" left="0" right="0" top="0" bottom="0" width="69" height="20" radiusX="2"> |
| <s:stroke> |
| <s:LinearGradientStroke rotation="90" weight="1"> |
| <!--- @private --> |
| <s:GradientEntry id="borderEntry1" |
| color="0x000000" |
| alpha="0.5625" |
| alpha.down="0.6375" |
| alpha.selectedStates="0.6375" /> |
| <!--- @private --> |
| <s:GradientEntry id="borderEntry2" |
| color="0x000000" |
| alpha="0.75" |
| alpha.down="0.85" |
| alpha.selectedStates="0.85" /> |
| </s:LinearGradientStroke> |
| </s:stroke> |
| </s:Rect> |
| |
| </local:SparkSkinForHalo> |