flex-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bigosma...@apache.org
Subject [3/3] git commit: [flex-sdk] [refs/heads/new_android_skins] - Android 4.x skins for Checkbox. Modified existing skinclass to eliminate need for creating FXG assets for every supported DPI.
Date Fri, 28 Mar 2014 22:16:46 GMT
Android 4.x skins for Checkbox.
Modified existing skinclass to eliminate need for creating FXG assets for every supported
DPI.


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/10f8840f
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/10f8840f
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/10f8840f

Branch: refs/heads/new_android_skins
Commit: 10f8840fbeac08002e73ab44bfc210bf3534cd99
Parents: d1fa5de
Author: Om <bigosmallm@gmail.com>
Authored: Fri Mar 28 14:56:11 2014 -0700
Committer: Om <bigosmallm@gmail.com>
Committed: Fri Mar 28 14:56:11 2014 -0700

----------------------------------------------------------------------
 .../src/spark/skins/android4/CheckBoxSkin.as    | 475 ++++++++++---------
 .../skins/android4/assets/CheckBox_down.fxg     |  21 +-
 .../android4/assets/CheckBox_downSelected.fxg   |  35 ++
 .../assets/CheckBox_downSymbolSelected.fxg      |  21 +-
 .../android4/assets/CheckBox_downUnselected.fxg |  15 -
 .../spark/skins/android4/assets/CheckBox_up.fxg |  36 +-
 .../android4/assets/CheckBox_upSelected.fxg     |  29 ++
 .../assets/CheckBox_upSymbolSelected.fxg        |  35 +-
 8 files changed, 393 insertions(+), 274 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/10f8840f/frameworks/projects/mobiletheme/src/spark/skins/android4/CheckBoxSkin.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobiletheme/src/spark/skins/android4/CheckBoxSkin.as b/frameworks/projects/mobiletheme/src/spark/skins/android4/CheckBoxSkin.as
index 416d85f..f091205 100644
--- a/frameworks/projects/mobiletheme/src/spark/skins/android4/CheckBoxSkin.as
+++ b/frameworks/projects/mobiletheme/src/spark/skins/android4/CheckBoxSkin.as
@@ -19,249 +19,250 @@
 
 package spark.skins.android4
 {
-import flash.display.DisplayObject;
+	import flash.display.DisplayObject;
+	
+	import mx.core.DPIClassification;
+	
+	import spark.skins.android4.assets.CheckBox_up;
+	import spark.skins.mobile.supportClasses.SelectableButtonSkinBase;
+	
+	/**
+	 *  ActionScript-based skin for CheckBox components in mobile applications. 
+	 * 
+	 *  @see spark.components.CheckBox
+	 * 
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10
+	 *  @playerversion AIR 2.5 
+	 *  @productversion Flex 4.5
+	 */
+	public class CheckBoxSkin extends SelectableButtonSkinBase
+	{
+		//--------------------------------------------------------------------------
+		//
+		//  Class constants
+		//
+		//--------------------------------------------------------------------------
+		
+		private static const exclusions:Array = ["labelDisplay", "labelDisplayShadow"];
 
-import mx.core.DPIClassification;
+		//--------------------------------------------------------------------------
+		//
+		//  Member variables
+		//
+		//--------------------------------------------------------------------------
 
-import spark.skins.android4.assets.CheckBox_up;
-import spark.skins.mobile.supportClasses.SelectableButtonSkinBase;
-import spark.skins.mobile120.assets.CheckBox_down;
-import spark.skins.mobile120.assets.CheckBox_downSymbol;
-import spark.skins.mobile120.assets.CheckBox_downSymbolSelected;
-import spark.skins.mobile120.assets.CheckBox_up;
-import spark.skins.mobile120.assets.CheckBox_upSymbol;
-import spark.skins.mobile120.assets.CheckBox_upSymbolSelected;
-import spark.skins.mobile160.assets.CheckBox_down;
-import spark.skins.mobile160.assets.CheckBox_downSymbol;
-import spark.skins.mobile160.assets.CheckBox_downSymbolSelected;
-import spark.skins.mobile160.assets.CheckBox_up;
-import spark.skins.mobile160.assets.CheckBox_upSymbol;
-import spark.skins.mobile160.assets.CheckBox_upSymbolSelected;
-import spark.skins.mobile240.assets.CheckBox_down;
-import spark.skins.mobile240.assets.CheckBox_downSymbol;
-import spark.skins.mobile240.assets.CheckBox_downSymbolSelected;
-import spark.skins.mobile240.assets.CheckBox_up;
-import spark.skins.mobile240.assets.CheckBox_upSymbol;
-import spark.skins.mobile240.assets.CheckBox_upSymbolSelected;
-import spark.skins.mobile320.assets.CheckBox_down;
-import spark.skins.mobile320.assets.CheckBox_downSymbol;
-import spark.skins.mobile320.assets.CheckBox_downSymbolSelected;
-import spark.skins.mobile320.assets.CheckBox_up;
-import spark.skins.mobile320.assets.CheckBox_upSymbol;
-import spark.skins.mobile320.assets.CheckBox_upSymbolSelected;
-import spark.skins.mobile480.assets.CheckBox_down;
-import spark.skins.mobile480.assets.CheckBox_downSymbol;
-import spark.skins.mobile480.assets.CheckBox_downSymbolSelected;
-import spark.skins.mobile480.assets.CheckBox_up;
-import spark.skins.mobile480.assets.CheckBox_upSymbol;
-import spark.skins.mobile480.assets.CheckBox_upSymbolSelected;
-import spark.skins.mobile640.assets.CheckBox_down;
-import spark.skins.mobile640.assets.CheckBox_downSymbol;
-import spark.skins.mobile640.assets.CheckBox_downSymbolSelected;
-import spark.skins.mobile640.assets.CheckBox_up;
-import spark.skins.mobile640.assets.CheckBox_upSymbol;
-import spark.skins.mobile640.assets.CheckBox_upSymbolSelected;
-
-/**
- *  ActionScript-based skin for CheckBox components in mobile applications. 
- * 
- *  @see spark.components.CheckBox
- * 
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 2.5 
- *  @productversion Flex 4.5
- */
-public class CheckBoxSkin extends SelectableButtonSkinBase
-{
-    //--------------------------------------------------------------------------
-    //
-    //  Class constants
-    //
-    //--------------------------------------------------------------------------
-    
-    private static const exclusions:Array = ["labelDisplay", "labelDisplayShadow"];
-    
-    //--------------------------------------------------------------------------
-    //
-    //  Constructor
-    //
-    //--------------------------------------------------------------------------
-    
-    /**
-     *  Constructor.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 2.5
-     *  @productversion Flex 4.5
-     */
-    public function CheckBoxSkin()
-    {
-        super();
-        
-        layoutPaddingLeft = 0;
-        layoutPaddingRight = 0;
-        layoutPaddingTop = 0;
-        layoutPaddingBottom = 0;
-        
-        switch (applicationDPI)
-        {
-			case DPIClassification.DPI_640:
+		protected var symbolOffsetX:Number;
+		protected var symbolOffsetY:Number;
+		protected var iconWidth:Number;
+		protected var iconHeight:Number;
+		protected var symbolWidth:Number;
+		protected var symbolHeight:Number;
+		
+		//--------------------------------------------------------------------------
+		//
+		//  Constructor
+		//
+		//--------------------------------------------------------------------------
+		
+		/**
+		 *  Constructor.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10
+		 *  @playerversion AIR 2.5
+		 *  @productversion Flex 4.5
+		 */
+		public function CheckBoxSkin()
+		{
+			super();
+			
+			layoutPaddingLeft = 0;
+			layoutPaddingRight = 0;
+			layoutPaddingTop = 0;
+			layoutPaddingBottom = 0;
+			
+			upIconClass = spark.skins.android4.assets.CheckBox_up;
+			upSelectedIconClass = spark.skins.android4.assets.CheckBox_upSelected;
+			downIconClass = spark.skins.android4.assets.CheckBox_down;
+			downSelectedIconClass = spark.skins.android4.assets.CheckBox_downSelected;
+			upSymbolIconClass = null;
+			upSymbolIconSelectedClass = spark.skins.android4.assets.CheckBox_upSymbolSelected;
+			downSymbolIconSelectedClass = spark.skins.android4.assets.CheckBox_downSymbolSelected;
+			downSymbolIconClass = null;
+					
+			switch (applicationDPI)
 			{
-				upIconClass = spark.skins.mobile640.assets.CheckBox_up;
-				upSelectedIconClass = spark.skins.mobile640.assets.CheckBox_up;
-				downIconClass = spark.skins.mobile640.assets.CheckBox_down;
-				downSelectedIconClass = spark.skins.mobile640.assets.CheckBox_down;
-				upSymbolIconClass = spark.skins.mobile640.assets.CheckBox_upSymbol;
-				upSymbolIconSelectedClass = spark.skins.mobile640.assets.CheckBox_upSymbolSelected;
-				downSymbolIconClass = spark.skins.mobile640.assets.CheckBox_downSymbol;
-				downSymbolIconSelectedClass = spark.skins.mobile640.assets.CheckBox_downSymbolSelected;
-				
-				layoutGap = 40;
-				minWidth = 128;
-				minHeight = 128;
-				layoutBorderSize = 6;
-				
-				break;
+				case DPIClassification.DPI_640:
+				{
+					
+					layoutGap = 16;
+					minWidth = 128;
+					minHeight = 128;
+					layoutBorderSize = 6;
+					iconWidth = 128;
+					iconHeight = 128;
+					symbolWidth = 64;
+					symbolHeight = 64;
+					symbolOffsetX = 32;
+					symbolOffsetY = 32;
+					
+					break;
+				}
+				case DPIClassification.DPI_480:
+				{
+					
+					layoutGap = 12;
+					minWidth = 96;
+					minHeight = 96;
+					layoutBorderSize = 4;
+					iconWidth = 96;
+					iconHeight = 96;
+					symbolWidth = 48;
+					symbolHeight = 48;
+					symbolOffsetX = 24;
+					symbolOffsetY = 24;
+					
+					break;
+				}
+				case DPIClassification.DPI_320:
+				{
+					
+					layoutGap = 8;
+					minWidth = 64;
+					minHeight = 64;
+					layoutBorderSize = 3;
+					iconWidth = 64;
+					iconHeight = 64;
+					symbolWidth = 32;
+					symbolHeight = 32;
+					symbolOffsetX = 16;
+					symbolOffsetY = 16;
+					
+					break;
+				}
+				case DPIClassification.DPI_240:
+				{
+					
+					layoutGap = 6;
+					minWidth = 48;
+					minHeight = 48;
+					layoutBorderSize = 2;
+					iconWidth = 48;
+					iconHeight = 48;
+					symbolWidth = 24;
+					symbolHeight = 24;
+					symbolOffsetX = 12;
+					symbolOffsetY = 12;
+					
+					break;
+				}
+				case DPIClassification.DPI_120:
+				{
+					
+					layoutGap = 3;
+					minWidth = 24;
+					minHeight = 24;
+					layoutBorderSize = 1;
+					iconWidth = 24;
+					iconHeight = 24;
+					symbolWidth = 12;
+					symbolHeight = 12;
+					symbolOffsetX = 6;
+					symbolOffsetY = 6;
+					
+					break;
+				}
+				default:
+				{
+					// default DPI_160
+					
+					layoutGap = 4;
+					minWidth = 32;
+					minHeight = 32;
+					layoutBorderSize = 2;
+					iconWidth = 32;
+					iconHeight = 32;
+					symbolWidth = 16;
+					symbolHeight = 16;
+					symbolOffsetX = 8;
+					symbolOffsetY = 8;
+					
+					
+					break;
+				}
 			}
-			case DPIClassification.DPI_480:
+		}
+		
+		//--------------------------------------------------------------------------
+		//
+		//  Overridden methods
+		//
+		//--------------------------------------------------------------------------
+		
+		/**
+		 *  @private
+		 *  CheckBox <code>chromeColor</code> is drawn to match the FXG rectangle
+		 *  shape and position.
+		 */
+		override protected function drawBackground(unscaledWidth:Number, unscaledHeight:Number):void
+		{
+			// super draws a transparent hit zone
+			super.drawBackground(unscaledWidth, unscaledHeight);
+			
+			// get the size and position of iconDisplay
+			var currentIcon:DisplayObject = getIconDisplay();
+			var widthAdjustment:Number = layoutBorderSize * 2;
+			
+			graphics.beginFill(getStyle("chromeColor"));
+			graphics.drawRoundRect(currentIcon.x + layoutBorderSize,
+				currentIcon.y + layoutBorderSize,
+				currentIcon.width - widthAdjustment,
+				currentIcon.height - widthAdjustment, layoutBorderSize, layoutBorderSize);
+			graphics.endFill();
+		}
+		
+		/**
+		 *  List of IDs of items that should be excluded when rendering the focus ring.
+		 *  Only items of type DisplayObject or GraphicElement should be excluded. Items
+		 *  of other types are ignored.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10
+		 *  @playerversion AIR 2.5
+		 *  @productversion Flex 4.5
+		 */
+		override protected function get focusSkinExclusions():Array 
+		{
+			return exclusions;
+		}
+		
+		override protected function commitCurrentState():void
+		{
+			super.commitCurrentState();
+			if(symbolIcon != null)
 			{
-				// Note provisional may need changes
-				upIconClass = spark.skins.mobile480.assets.CheckBox_up;
-				upSelectedIconClass = spark.skins.mobile480.assets.CheckBox_up;
-				downIconClass = spark.skins.mobile480.assets.CheckBox_down;
-				downSelectedIconClass = spark.skins.mobile480.assets.CheckBox_down;
-				upSymbolIconClass = spark.skins.mobile480.assets.CheckBox_upSymbol;
-				upSymbolIconSelectedClass = spark.skins.mobile480.assets.CheckBox_upSymbolSelected;
-				downSymbolIconClass = spark.skins.mobile480.assets.CheckBox_downSymbol;
-				downSymbolIconSelectedClass = spark.skins.mobile480.assets.CheckBox_downSymbolSelected;
-				
-				layoutGap = 30;
-				minWidth = 96;
-				minHeight = 96;
-				layoutBorderSize = 4;
-				
-				break;
+				symbolIcon.width = symbolWidth;
+				symbolIcon.height = symbolHeight;
 			}
-            case DPIClassification.DPI_320:
-            {
-                upIconClass = spark.skins.mobile320.assets.CheckBox_up;
-                upSelectedIconClass = spark.skins.mobile320.assets.CheckBox_up;
-                downIconClass = spark.skins.mobile320.assets.CheckBox_down;
-                downSelectedIconClass = spark.skins.mobile320.assets.CheckBox_down;
-                upSymbolIconClass = spark.skins.mobile320.assets.CheckBox_upSymbol;
-                upSymbolIconSelectedClass = spark.skins.mobile320.assets.CheckBox_upSymbolSelected;
-                downSymbolIconClass = spark.skins.mobile320.assets.CheckBox_downSymbol;
-                downSymbolIconSelectedClass = spark.skins.mobile320.assets.CheckBox_downSymbolSelected;
-                 
-                layoutGap = 20;
-                minWidth = 64;
-                minHeight = 64;
-                layoutBorderSize = 3;
-                
-                break;
-            }
-            case DPIClassification.DPI_240:
-            {
-
-				upIconClass = spark.skins.android4.assets.CheckBox_up;
-				upSelectedIconClass = spark.skins.android4.assets.CheckBox_up;
-				downIconClass = spark.skins.android4.assets.CheckBox_downUnselected;
-				downSelectedIconClass = spark.skins.android4.assets.CheckBox_down;
-				upSymbolIconClass = null;
-				upSymbolIconSelectedClass = spark.skins.android4.assets.CheckBox_upSymbolSelected;
-				downSymbolIconSelectedClass = spark.skins.android4.assets.CheckBox_downSymbolSelected;
-				downSymbolIconClass = spark.skins.android4.assets.CheckBox_downUnselected;
-				
-                layoutGap = 15;
-                minWidth = 48;
-                minHeight = 48;
-                layoutBorderSize = 2;
-                
-                break;
-            }
-			case DPIClassification.DPI_120:
+			var iconDisplay:DisplayObject = getIconDisplay(); 
+			if(iconDisplay != null)
 			{
-				upIconClass = spark.skins.mobile120.assets.CheckBox_up;
-				upSelectedIconClass = spark.skins.mobile120.assets.CheckBox_up;
-				downIconClass = spark.skins.mobile120.assets.CheckBox_down;
-				downSelectedIconClass = spark.skins.mobile120.assets.CheckBox_down;
-				upSymbolIconClass = spark.skins.mobile120.assets.CheckBox_upSymbol;
-				upSymbolIconSelectedClass = spark.skins.mobile120.assets.CheckBox_upSymbolSelected;
-				downSymbolIconClass = spark.skins.mobile120.assets.CheckBox_downSymbol;
-				downSymbolIconSelectedClass = spark.skins.mobile120.assets.CheckBox_downSymbolSelected;
-				
-				layoutGap = 8;
-				minWidth = 24;
-				minHeight = 24;
-				layoutBorderSize = 1;
-				
-				break;
+				iconDisplay.width = iconWidth;
+				iconDisplay.height = iconHeight;
 			}
-            default:
-            {
-                // default DPI_160
-                upIconClass = spark.skins.mobile160.assets.CheckBox_up;
-                upSelectedIconClass = spark.skins.mobile160.assets.CheckBox_up;
-                downIconClass = spark.skins.mobile160.assets.CheckBox_down;
-                downSelectedIconClass = spark.skins.mobile160.assets.CheckBox_down;
-                upSymbolIconClass = spark.skins.mobile160.assets.CheckBox_upSymbol;
-                upSymbolIconSelectedClass = spark.skins.mobile160.assets.CheckBox_upSymbolSelected;
-                downSymbolIconClass = spark.skins.mobile160.assets.CheckBox_downSymbol;
-                downSymbolIconSelectedClass = spark.skins.mobile160.assets.CheckBox_downSymbolSelected;
-                
-                layoutGap = 10;
-                minWidth = 32;
-                minHeight = 32;
-                layoutBorderSize = 2;
-                
-                break;
-            }
-        }
-    }
-    
-    //--------------------------------------------------------------------------
-    //
-    //  Overridden methods
-    //
-    //--------------------------------------------------------------------------
-    
-    /**
-     *  @private
-     *  CheckBox <code>chromeColor</code> is drawn to match the FXG rectangle
-     *  shape and position.
-     */
-    override protected function drawBackground(unscaledWidth:Number, unscaledHeight:Number):void
-    {
-        // super draws a transparent hit zone
-        super.drawBackground(unscaledWidth, unscaledHeight);
-
-        // get the size and position of iconDisplay
-        var currentIcon:DisplayObject = getIconDisplay();
-        var widthAdjustment:Number = layoutBorderSize * 2;
-        
-        graphics.beginFill(getStyle("chromeColor"));
-        graphics.drawRoundRect(currentIcon.x + layoutBorderSize,
-            currentIcon.y + layoutBorderSize,
-            currentIcon.width - widthAdjustment,
-            currentIcon.height - widthAdjustment, layoutBorderSize, layoutBorderSize);
-        graphics.endFill();
-    }
-    
-    /**
-     *  List of IDs of items that should be excluded when rendering the focus ring.
-     *  Only items of type DisplayObject or GraphicElement should be excluded. Items
-     *  of other types are ignored.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 2.5
-     *  @productversion Flex 4.5
-     */
-    override protected function get focusSkinExclusions():Array 
-    {
-        return exclusions;
-    }
-}
+		}
+		
+		override protected function layoutContents(unscaledWidth:Number, unscaledHeight:Number):void
+		{
+			super.layoutContents(unscaledWidth, unscaledHeight);
+			// position the symbols to align with the background "icon"
+			if (symbolIcon)
+			{
+				var currentIcon:DisplayObject = getIconDisplay();
+				setElementPosition(symbolIcon, symbolOffsetX, symbolOffsetY);
+			}
+		}
+		
+	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/10f8840f/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_down.fxg
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_down.fxg
b/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_down.fxg
index 3c49ba1..426df3d 100644
--- a/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_down.fxg
+++ b/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_down.fxg
@@ -1,3 +1,23 @@
+<?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.
+
+-->
+
 <Graphic version="2.0" xmlns="http://ns.adobe.com/fxg/2008">
   <Group scaleGridLeft="8" scaleGridRight="24" scaleGridTop="24" scaleGridBottom="8">
     <Path winding="nonZero" data="M32 31.001C32 31.5527 31.5527 32 31.001 32L0.999023
32C0.447266 32 0 31.5527 0 31.001L0 0.999023C0 0.447266 0.447266 0 0.999023 0L31.001 0C31.5527
0 32 0.447266 32 0.999023L32 31.001Z">
@@ -10,6 +30,5 @@
         <SolidColor color="#676767"/>
       </fill>
     </Path>
-    <Path visible="false" winding="nonZero" data="M0 0 32 0 32 32 0 32 0 0Z"/>
   </Group>
 </Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/10f8840f/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_downSelected.fxg
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_downSelected.fxg
b/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_downSelected.fxg
new file mode 100644
index 0000000..ea7c3c4
--- /dev/null
+++ b/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_downSelected.fxg
@@ -0,0 +1,35 @@
+<?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.
+
+-->
+
+<Graphic version="2.0" xmlns="http://ns.adobe.com/fxg/2008">
+  <Group scaleGridLeft="8" scaleGridRight="24" scaleGridTop="24" scaleGridBottom="8">
+    <Path winding="nonZero" data="M32 31.001C32 31.5527 31.5527 32 31.001 32L0.999023
32C0.447266 32 0 31.5527 0 31.001L0 0.999023C0 0.447266 0.447266 0 0.999023 0L31.001 0C31.5527
0 32 0.447266 32 0.999023L32 31.001Z">
+      <fill>
+        <SolidColor color="#DEDEDD"/>
+      </fill>
+    </Path>
+    <Path x="8" y="8" winding="nonZero" data="M15 7 15 15 1 15 1 1 14 1 14 0 0 0 0 16
16 16 16 7 15 7Z">
+      <fill>
+        <SolidColor color="#676767"/>
+      </fill>
+    </Path>
+    <Path visible="false" winding="nonZero" data="M0 0 32 0 32 32 0 32 0 0Z"/>
+  </Group>
+</Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/10f8840f/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_downSymbolSelected.fxg
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_downSymbolSelected.fxg
b/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_downSymbolSelected.fxg
index da3e719..f59d001 100644
--- a/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_downSymbolSelected.fxg
+++ b/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_downSymbolSelected.fxg
@@ -1,3 +1,23 @@
+<?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.
+
+-->
+
 <Graphic version="2.0" xmlns="http://ns.adobe.com/fxg/2008">
   <Group scaleGridLeft="4.09595" scaleGridRight="12.2878" scaleGridTop="9.99243" scaleGridBottom="3.33081">
     <Path winding="nonZero" data="M14.165 0 16.3838 2.21924 5.24023 13.3232 0 8.52441
2.18164 6.11719 5.37305 9.06348 14.165 0Z">
@@ -5,6 +25,5 @@
         <SolidColor color="#676767"/>
       </fill>
     </Path>
-    <Path visible="false" winding="nonZero" data="M0 0 17 0 17 13 0 13 0 0Z"/>
   </Group>
 </Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/10f8840f/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_downUnselected.fxg
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_downUnselected.fxg
b/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_downUnselected.fxg
deleted file mode 100644
index 127a4b3..0000000
--- a/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_downUnselected.fxg
+++ /dev/null
@@ -1,15 +0,0 @@
-<Graphic version="2.0" xmlns="http://ns.adobe.com/fxg/2008">
-  <Group scaleGridLeft="8" scaleGridRight="24" scaleGridTop="24" scaleGridBottom="8">
-    <Path winding="nonZero" data="M32 31.001C32 31.5527 31.5527 32 31.001 32L0.999023
32C0.447266 32 0 31.5527 0 31.001L0 0.999023C0 0.447266 0.447266 0 0.999023 0L31.001 0C31.5527
0 32 0.447266 32 0.999023L32 31.001Z">
-      <fill>
-        <SolidColor color="#DEDEDD"/>
-      </fill>
-    </Path>
-    <Path x="8" y="8" winding="nonZero" data="M15 7 15 15 1 15 1 1 14 1 14 0 0 0 0 16
16 16 16 7 15 7Z">
-      <fill>
-        <SolidColor color="#676767"/>
-      </fill>
-    </Path>
-    <Path visible="false" winding="nonZero" data="M0 0 32 0 32 32 0 32 0 0Z"/>
-  </Group>
-</Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/10f8840f/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_up.fxg
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_up.fxg
b/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_up.fxg
index 03843e7..9d65260 100644
--- a/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_up.fxg
+++ b/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_up.fxg
@@ -1,16 +1,26 @@
-<Graphic version="2.0" xmlns="http://ns.adobe.com/fxg/2008">
-  <Group>
-    <Group alpha="0.5">
+<?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.
+
+-->
+
+<Graphic version="2.0" xmlns="http://ns.adobe.com/fxg/2008" viewHeight="32" viewWidth="32">
+    <Group alpha="0.5" x="8" y="8">
       <Group>
-        <mask>
-          <Group>
-            <Path winding="nonZero" data="M16 16 0 16 0 0 16 0 16 16Z">
-              <fill>
-                <SolidColor color="#FFFFFF"/>
-              </fill>
-            </Path>
-          </Group>
-        </mask>
         <Path winding="nonZero" data="M16 16 0 16 0 0 16 0 16 16ZM1 15 15 15 15 1 1 1
1 15Z">
           <fill>
             <SolidColor color="#676767"/>
@@ -18,6 +28,4 @@
         </Path>
       </Group>
     </Group>
-    <Path visible="false" winding="nonZero" data="M0 0 16 0 16 16 0 16 0 0Z"/>
-  </Group>
 </Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/10f8840f/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_upSelected.fxg
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_upSelected.fxg
b/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_upSelected.fxg
new file mode 100644
index 0000000..f51d7df
--- /dev/null
+++ b/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_upSelected.fxg
@@ -0,0 +1,29 @@
+<?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.
+
+-->
+
+<Graphic version="2.0" xmlns="http://ns.adobe.com/fxg/2008" viewHeight="32" viewWidth="32">
+  <Group x="8" y="8" scaleGridLeft="4" scaleGridRight="12" scaleGridTop="12" scaleGridBottom="4">
+    <Path winding="nonZero" data="M15 7 15 15 1 15 1 1 14 1 14 0 0 0 0 16 16 16 16 7 15
7Z">
+      <fill>
+        <SolidColor color="#676767"/>
+      </fill>
+    </Path>
+  </Group>
+</Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/10f8840f/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_upSymbolSelected.fxg
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_upSymbolSelected.fxg
b/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_upSymbolSelected.fxg
index 8c8efd7..a728d3d 100644
--- a/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_upSymbolSelected.fxg
+++ b/frameworks/projects/mobiletheme/src/spark/skins/android4/assets/CheckBox_upSymbolSelected.fxg
@@ -1,10 +1,33 @@
+<?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.
+
+-->
 <Graphic version="2.0" xmlns="http://ns.adobe.com/fxg/2008">
-  <Group scaleGridLeft="4.0957" scaleGridRight="12.2881" scaleGridTop="9.99219" scaleGridBottom="3.33105">
-    <Path winding="nonZero" data="M14.165 0 16.3838 2.21924 5.24023 13.3232 0 8.52441
2.18164 6.11719 5.37305 9.06348 14.165 0Z">
-      <fill>
-        <SolidColor color="#33B5E5"/>
-      </fill>
+  <Group>
+      <Path x="0.624023" y="0.399414" winding="nonZero" data="M14.165 0 16.3838 2.21924
5.24023 13.3232 0 8.52441 2.18164 6.11719 5.37305 9.06348 14.165 0Z">
+        <fill>
+          <SolidColor color="#33B5E5"/>
+        </fill>
+      </Path>
+    <Path x="0.704102" y="0.712402" winding="nonZero" data="M14.165 0 16.3838 2.21924
5.24023 13.3232 0 8.52441 2.18164 6.11719 5.37305 9.06348 14.165 0Z">
+      <stroke>
+        <SolidColorStroke caps="none" joints="miter" miterLimit="10" color="#676767"/>
+      </stroke>
     </Path>
-    <Path visible="false" winding="nonZero" data="M0 0 17 0 17 13 0 13 0 0Z"/>
   </Group>
 </Graphic>
\ No newline at end of file


Mime
View raw message