| <?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 default skin class for a Spark Panel container. |
| |
| @see spark.components.Panel |
| |
| @langversion 3.0 |
| @playerversion Flash 10 |
| @playerversion AIR 1.5 |
| @productversion Flex 4 |
| --> |
| <s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" |
| xmlns:fb="http://ns.adobe.com/flashbuilder/2009" blendMode="normal" mouseEnabled="false" |
| minWidth="131" minHeight="127" alpha.disabled="0.5" alpha.disabledWithControlBar="0.5"> |
| |
| <fx:Metadata> |
| <![CDATA[ |
| /** |
| * @copy spark.skins.spark.ApplicationSkin#hostComponent |
| */ |
| [HostComponent("spark.components.Panel")] |
| ]]> |
| </fx:Metadata> |
| |
| <fx:Script fb:purpose="styling"> |
| <![CDATA[ |
| import mx.core.FlexVersion; |
| |
| import flatspark.utils.ColorUtils; |
| |
| /* Define the skin elements that should not be colorized. |
| For panel, border and title background are skinned, but the content area, background, border, and title text are not. */ |
| static private const exclusions:Array = ["background", "titleDisplay", "contentGroup", "controlBarGroup", "border"]; |
| |
| /* exclusions before Flex 4.5 for backwards-compatibility purposes */ |
| static private const exclusions_4_0:Array = ["background", "titleDisplay", "contentGroup", "controlBarGroup"]; |
| |
| /** |
| * @private |
| */ |
| override public function get colorizeExclusions():Array |
| { |
| // Since border is styleable via borderColor, no need to allow chromeColor to affect |
| // the border. This is wrapped in a compatibility flag since this change was added |
| // in Flex 4.5 |
| if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_5) |
| { |
| return exclusions_4_0; |
| } |
| |
| return exclusions; |
| } |
| |
| /** |
| * @private |
| */ |
| override protected function initializationComplete():void |
| { |
| useChromeColor = true; |
| super.initializationComplete(); |
| } |
| |
| /** |
| * @private |
| */ |
| override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void |
| { |
| dropShadow.tlRadius = cornerRadius; |
| dropShadow.trRadius = cornerRadius; |
| dropShadow.blRadius = cornerRadius; |
| dropShadow.brRadius = cornerRadius; |
| |
| setPartCornerRadii(topMaskRect); |
| setPartCornerRadii(background); |
| |
| if (bottomMaskRect != null) |
| { |
| setPartCornerRadii(bottomMaskRect); |
| } |
| |
| super.updateDisplayList(unscaledWidth, unscaledHeight); |
| } |
| |
| /** |
| * @private |
| */ |
| private function setPartCornerRadii(target:Rect):void |
| { |
| target.topLeftRadiusX = cornerRadius; |
| target.topRightRadiusX = cornerRadius; |
| target.bottomLeftRadiusX = cornerRadius; |
| target.bottomRightRadiusX = cornerRadius; |
| } |
| |
| private var cornerRadius:Number=4; |
| ]]> |
| </fx:Script> |
| |
| <s:states> |
| <s:State name="normal" /> |
| <s:State name="disabled" /> |
| <s:State name="normalWithControlBar" stateGroups="withControls" /> |
| <s:State name="disabledWithControlBar" stateGroups="withControls" /> |
| </s:states> |
| |
| <!-- drop shadow can't be hittable so it stays sibling of other graphics --> |
| <!--- @private --> |
| <s:RectangularDropShadow id="dropShadow" blurX="4" distance="0" angle="90" alpha="1" |
| color="{ColorUtils.Silver}" left="0" top="0" right="0" bottom="0"/> |
| |
| <!-- drop shadow can't be hittable so all other graphics go in this group --> |
| <s:Group left="0" right="0" top="0" bottom="0"> |
| |
| <!-- top group mask --> |
| <!--- @private --> |
| <s:Group left="0" top="0" right="0" bottom="0" id="topGroupMask" > |
| <!--- @private --> |
| <s:Rect id="topMaskRect" left="0" top="0" right="0" bottom="0"> |
| <s:fill> |
| <s:SolidColor alpha="0"/> |
| </s:fill> |
| </s:Rect> |
| </s:Group> |
| |
| <!-- bottom group mask --> |
| <!--- @private --> |
| <s:Group left="0" top="0" right="0" bottom="0" id="bottomGroupMask" |
| includeIn="normalWithControlBar, disabledWithControlBar"> |
| <!--- @private --> |
| <s:Rect id="bottomMaskRect" left="0" top="0" right="0" bottom="0"> |
| <s:fill> |
| <s:SolidColor alpha="0"/> |
| </s:fill> |
| </s:Rect> |
| </s:Group> |
| |
| <!-- layer 2: background fill --> |
| <!--- Defines the appearance of the PanelSkin class's background. --> |
| <s:Rect id="background" left="0" top="0" right="0" bottom="0"> |
| <s:fill> |
| <!--- @private |
| Defines the PanelSkin class's background fill. The default color is 0xFFFFFF. --> |
| <s:SolidColor id="backgroundFill" color="0xFFFFFF"/> |
| </s:fill> |
| </s:Rect> |
| |
| <!-- layer 3: contents --> |
| <!--- Contains the vertical stack of titlebar content and controlbar. --> |
| <s:Group left="0" top="0" right="0" bottom="0" id="contents"> |
| <s:layout> |
| <s:VerticalLayout gap="0" horizontalAlign="justify" /> |
| </s:layout> |
| |
| <!--- @private --> |
| <s:Group id="topGroup" mask="{topGroupMask}"> |
| |
| <!-- layer 0: title bar fill --> |
| <!--- @private --> |
| <s:Rect id="tbFill" left="0" right="0" top="0" bottom="0"> |
| <s:fill> |
| <s:SolidColor color="{ColorUtils.PeterRiver}"/> |
| </s:fill> |
| </s:Rect> |
| |
| <!-- layer 1: title bar highlight --> |
| <!--- @private --> |
| <s:Rect id="tbHilite" left="0" right="0" top="0" bottom="0"> |
| <s:fill> |
| <s:SolidColor color="{ColorUtils.PeterRiver}"/> |
| </s:fill> |
| </s:Rect> |
| |
| <!-- layer 2: title bar divider --> |
| <!--- @private --> |
| <s:Rect id="tbDiv" left="0" right="0" height="1" bottom="0"> |
| <s:fill> |
| <s:SolidColor color="{ColorUtils.BelizeHole}"/> |
| </s:fill> |
| </s:Rect> |
| |
| <!-- layer 3: text --> |
| <!--- @copy spark.components.Panel#titleDisplay --> |
| <s:Label id="titleDisplay" maxDisplayedLines="1" fontFamily="Lato" fontSize="15" fontStyle="normal" color="#FFFFFF" |
| left="15" right="5" top="2" bottom="0" minHeight="36" height="36" |
| verticalAlign="middle" fontWeight="bold" /> |
| </s:Group> |
| |
| <!-- |
| Note: setting the minimum size to 0 here so that changes to the host component's |
| size will not be thwarted by this skin part's minimum size. This is a compromise, |
| more about it here: http://bugs.adobe.com/jira/browse/SDK-21143 |
| --> |
| <!--- @copy spark.components.SkinnableContainer#contentGroup --> |
| <s:Group id="contentGroup" width="100%" height="100%" minWidth="0" minHeight="0"> |
| </s:Group> |
| |
| <!--- @private --> |
| <s:Group id="bottomGroup" minWidth="0" minHeight="0" |
| includeIn="normalWithControlBar, disabledWithControlBar" > |
| |
| <s:Group left="0" right="0" top="0" bottom="0" mask="{bottomGroupMask}"> |
| |
| <!-- layer 0: control bar divider line --> |
| <s:Rect left="0" right="0" top="0" height="1" alpha="0.5"> |
| <s:fill> |
| <s:SolidColor color="{ColorUtils.Silver}" /> |
| </s:fill> |
| </s:Rect> |
| |
| <!-- layer 1: control bar highlight --> |
| <s:Rect left="0" right="0" top="1" bottom="0"> |
| <s:fill> |
| <s:SolidColor color="{ColorUtils.Clouds}" /> |
| </s:fill> |
| </s:Rect> |
| |
| <!-- layer 2: control bar fill --> |
| <s:Rect left="0" right="0" top="1" bottom="0"> |
| <s:fill> |
| <s:SolidColor color="{ColorUtils.Clouds}" /> |
| </s:fill> |
| </s:Rect> |
| </s:Group> |
| <!-- layer 3: control bar --> |
| <!--- @copy spark.components.Panel#controlBarGroup --> |
| <s:Group id="controlBarGroup" left="0" right="0" top="0" bottom="0" minWidth="0" minHeight="0"> |
| <s:layout> |
| <s:HorizontalLayout paddingLeft="10" paddingRight="10" paddingTop="7" paddingBottom="7" gap="10" /> |
| </s:layout> |
| </s:Group> |
| </s:Group> |
| </s:Group> |
| </s:Group> |
| </s:SparkSkin> |