incubator-flex-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From p...@apache.org
Subject svn commit: r1369982 [3/19] - in /incubator/flex/trunk/mustella/tests/RuntimeLocalization: ./ RTL_HaloSkin/ RTL_HaloSkin/Integration/ RTL_HaloSkin/Integration/Baselines/ RTL_HaloSkin/SWFs/ RTL_HaloSkin/SWFs/Assets/ RTL_HaloSkin/SWFs/Assets/Modules/ RTL...
Date Mon, 06 Aug 2012 20:25:38 GMT
Added: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/MyCheckBoxIcon_fr_FR.as
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/MyCheckBoxIcon_fr_FR.as?rev=1369982&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/MyCheckBoxIcon_fr_FR.as (added)
+++ incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/MyCheckBoxIcon_fr_FR.as Mon Aug  6 20:25:24 2012
@@ -0,0 +1,440 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package
+{
+
+import flash.display.GradientType;
+import flash.display.Graphics;
+import mx.skins.Border;
+import mx.styles.StyleManager;
+import mx.utils.ColorUtil;
+
+/**
+ *  The skin for all the states of the icon in a CheckBox.
+ */
+public class MyCheckBoxIcon_fr_FR extends Border
+{
+    //include "../../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private static var cache:Object = {};
+    
+    //--------------------------------------------------------------------------
+    //
+    //  Class methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Several colors used for drawing are calculated from the base colors
+     *  of the component (themeColor, borderColor and fillColors).
+     *  Since these calculations can be a bit expensive,
+     *  we calculate once per color set and cache the results.
+     */
+    private static function calcDerivedStyles(themeColor:uint,
+                                              borderColor:uint,
+                                              fillColor0:uint,
+                                              fillColor1:uint):Object
+    {
+        var key:String = HaloColors.getCacheKey(themeColor, borderColor,
+                                                fillColor0, fillColor1);
+        
+        if (!cache[key])
+        {
+            var o:Object = cache[key] = {};
+            
+            // Cross-component styles.
+            HaloColors.addHaloColors(o, themeColor, fillColor0, fillColor1);
+            
+            // CheckBox-specific styles.
+            o.borderColorDrk1 = ColorUtil.adjustBrightness2(borderColor, -50);
+        }
+        
+        return cache[key];
+    }
+    
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     */
+    public function MyCheckBoxIcon_fr_FR()
+    {
+        super();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  measuredWidth
+    //----------------------------------
+    
+    /**
+     *  @private
+     */    
+    override public function get measuredWidth():Number
+    {
+        return 14;
+    }
+    
+    //----------------------------------
+    //  measuredHeight
+    //----------------------------------
+    
+    /**
+     *  @private
+     */        
+    override public function get measuredHeight():Number
+    {
+        return 14;
+    }
+    
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override protected function updateDisplayList(w:Number, h:Number):void
+    {
+        super.updateDisplayList(w, h);
+
+        // User-defined styles
+        var borderColor:uint = getStyle("borderColor");
+        var fillAlphas:Array = getStyle("fillAlphas");
+        var fillColors:Array = getStyle("fillColors");
+        StyleManager.getColorNames(fillColors);
+        var highlightAlphas:Array = getStyle("highlightAlphas");        
+        var themeColor:uint = getStyle("themeColor");
+        
+        // Placeholder styles stub  
+        var checkColor:uint = 0x2B333C;// added style prop
+        
+        // Derived styles
+        var derStyles:Object = calcDerivedStyles(themeColor, borderColor, 
+                                                 fillColors[0], fillColors[1]);
+        
+        var borderColorDrk1:Number =
+            ColorUtil.adjustBrightness2(borderColor, -50);
+        
+        var themeColorDrk1:Number =
+            ColorUtil.adjustBrightness2(themeColor, -25);
+        
+        var bDrawCheck:Boolean = false;
+        
+        var upFillColors:Array;
+        var upFillAlphas:Array;
+        
+        var overFillColors:Array;
+        var overFillAlphas:Array;
+        
+        var disFillColors:Array;
+        var disFillAlphas:Array;
+
+        var g:Graphics = graphics;
+        
+        g.clear();
+        
+        switch (name)
+        {
+            case "upIcon":
+            {
+                upFillColors = [ fillColors[0], fillColors[1] ];
+                upFillAlphas = [ fillAlphas[0], fillAlphas[1] ];
+
+                // border
+                drawRoundRect(
+                    0, 0, w, h, 0,
+                    [ borderColor, borderColorDrk1 ], 1,
+                    verticalGradientMatrix(0, 0, w, h ),
+                    GradientType.LINEAR, null, 
+                    { x: 1, y: 1, w: w - 2, h: h - 2, r: 0 });
+ 
+
+                // box fill
+                drawRoundRect(
+                    1, 1, w - 2, h - 2, 0,
+                    upFillColors, upFillAlphas,
+                    verticalGradientMatrix(1, 1, w - 2, h - 2)); 
+
+                // top highlight
+                drawRoundRect(
+                    1, 1, w - 2, (h - 2) / 2, 0,
+                    [ 0xFFFFFF, 0xFFFFFF ], highlightAlphas,
+                    verticalGradientMatrix(1, 1, w - 2, (h - 2) / 2)); 
+
+
+                break;
+            }
+                
+            case "overIcon":
+            {
+                if (fillColors.length > 2)
+                    overFillColors = [ fillColors[2], fillColors[3] ];
+                else
+                    overFillColors = [ fillColors[0], fillColors[1] ];
+
+                if (fillAlphas.length > 2)
+                    overFillAlphas = [ fillAlphas[2], fillAlphas[3] ];
+                else
+                    overFillAlphas = [ fillAlphas[0], fillAlphas[1] ];
+
+                // border
+                drawRoundRect(
+                    0, 0, w, h, 0,
+                    [ themeColor, themeColorDrk1 ], 1,
+                    verticalGradientMatrix(0, 0, w, h),
+                    GradientType.LINEAR, null, 
+                    { x: 1, y: 1, w: w - 2, h: h - 2, r: 0 }); 
+                
+                // box fill
+                drawRoundRect(
+                    1, 1, w - 2, h - 2, 0,
+                    overFillColors, overFillAlphas,
+                    verticalGradientMatrix(1, 1, w - 2, h - 2));
+
+                // top highlight
+                drawRoundRect(
+                    1, 1, w - 2, (h - 2) / 2, 0,
+                    [ 0xFFFFFF, 0xFFFFFF ], highlightAlphas,
+                    verticalGradientMatrix(1, 1, w - 2, (h - 2) / 2)); 
+
+                break;
+            }
+
+            case "downIcon":
+            {               
+                // border
+                drawRoundRect(
+                    0, 0, w, h, 0,
+                    [ themeColor, themeColorDrk1 ], 1,
+                    verticalGradientMatrix(0, 0, w, h)); 
+                
+                // box fill
+                drawRoundRect(
+                    1, 1, w - 2, h - 2, 0,
+                    [ derStyles.fillColorPress1,
+                    derStyles.fillColorPress2 ], 1,
+                    verticalGradientMatrix(1, 1, w - 2, h - 2)); 
+                            
+                // top highlight
+                drawRoundRect(
+                    1, 1, w - 2, (h - 2) / 2, 0,
+                    [ 0xFFFFFF, 0xFFFFFF ], highlightAlphas,
+                    verticalGradientMatrix(1, 1, w - 2, (h - 2) / 2));
+
+                break;
+            }
+
+            case "disabledIcon":
+            {
+                disFillColors = [ fillColors[0], fillColors[1] ];
+                disFillAlphas = [ Math.max(0, fillAlphas[0] - 15),
+                                  Math.max(0, fillAlphas[1] - 15) ];
+
+                // border
+                drawRoundRect(
+                    0, 0, w, h, 0,
+                    [ borderColor, borderColorDrk1 ], 0.5,
+                    verticalGradientMatrix(0, 0, w, h),
+                    GradientType.LINEAR, null, 
+                    { x: 1, y: 1, w: w - 2, h: h - 2, r: 0 }); 
+
+                // box fill
+                drawRoundRect(
+                    1, 1, w - 2, h - 2, 0,
+                    disFillColors, disFillAlphas,
+                    verticalGradientMatrix(1, 1, w - 2, h - 2)); 
+
+                break;
+            }
+                        
+            case "selectedUpIcon":
+            {
+                bDrawCheck = true;
+                
+                upFillColors = [ fillColors[0], fillColors[1] ];
+                upFillAlphas = [ fillAlphas[0], fillAlphas[1] ];
+
+                // border
+                drawRoundRect(
+                    0, 0, w, h, 0,
+                    [ borderColor, borderColorDrk1 ], 1,
+                    verticalGradientMatrix(0, 0, w, h),
+                    GradientType.LINEAR, null, 
+                    { x: 1, y: 1, w: w - 2, h: h - 2, r: 0 }); 
+
+                // box fill
+                drawRoundRect(
+                    1, 1, w - 2, h - 2, 0,
+                    upFillColors, upFillAlphas,
+                    verticalGradientMatrix(1, 1, w - 2, h - 2)); 
+
+                // top highlight
+                drawRoundRect(
+                    1, 1, w - 2, (h - 2) / 2, 0,
+                    [ 0xFFFFFF, 0xFFFFFF ], highlightAlphas,
+                    verticalGradientMatrix(1, 1, w - 2, (h - 2) / 2));
+
+                break;
+            }
+
+            case "selectedOverIcon":
+            {
+                bDrawCheck = true;
+                
+                if (fillColors.length > 2)
+                    overFillColors = [ fillColors[2], fillColors[3] ];
+                else
+                    overFillColors = [ fillColors[0], fillColors[1] ];
+
+                if (fillAlphas.length > 2)
+                    overFillAlphas = [ fillAlphas[2], fillAlphas[3] ];
+                else
+                    overFillAlphas = [ fillAlphas[0], fillAlphas[1] ];
+
+                // border
+                drawRoundRect(
+                    0, 0, w, h, 0,
+                    [ themeColor, themeColorDrk1 ], 1,
+                    verticalGradientMatrix(0, 0, w, h),
+                    GradientType.LINEAR, null,
+                    { x: 1, y: 1, w: w - 2, h: h - 2, r: 0 }); 
+
+                // box fill
+                drawRoundRect(
+                    1, 1, w - 2, h - 2, 0,
+                    overFillColors, overFillAlphas,
+                    verticalGradientMatrix(1, 1, w - 2, h - 2)); 
+
+                // top highlight
+                drawRoundRect(
+                    1, 1, w - 2, (h - 2) / 2, 0,
+                    [ 0xFFFFFF, 0xFFFFFF ], highlightAlphas,
+                    verticalGradientMatrix(1, 1, w - 2, (h - 2) / 2)); 
+                
+                break;
+            }
+
+            case "selectedDownIcon":
+            {
+                bDrawCheck = true;
+                
+                // border
+                drawRoundRect(
+                    0, 0, w, h, 0,
+                    [ themeColor, themeColorDrk1 ], 1,
+                    verticalGradientMatrix(0, 0, w, h)); 
+                
+                // box fill
+                drawRoundRect(
+                    1, 1, w - 2, h - 2, 0,
+                    [ derStyles.fillColorPress1,
+                    derStyles.fillColorPress2 ], 1,
+                    verticalGradientMatrix(1, 1, w - 2, h - 2)); 
+                            
+                // top highlight
+                drawRoundRect(
+                    1, 1, w - 2, (h - 2) / 2, 0,
+                    [ 0xFFFFFF, 0xFFFFFF ], highlightAlphas,
+                    verticalGradientMatrix(1, 1, w - 2, (h - 2) / 2)); 
+
+                break;
+            }
+
+            case "selectedDisabledIcon":
+            {
+                bDrawCheck = true;
+                checkColor = 0x999999;
+                
+                disFillColors = [ fillColors[0], fillColors[1] ];
+                disFillAlphas = [ Math.max( 0, fillAlphas[0] - 0.15),
+                                  Math.max( 0, fillAlphas[1] - 0.15) ];
+
+                // border
+                drawRoundRect(
+                    0, 0, w, h, 0,
+                    [ borderColor, borderColorDrk1 ], 0.5,
+                    verticalGradientMatrix(0, 0, w, h),
+                    GradientType.LINEAR, null, 
+                    { x: 1, y: 1, w: w - 2, h: h - 2, r: 0 }); 
+
+                // box fill
+                drawRoundRect(
+                    1, 1, w - 2, h - 2, 0,
+                    disFillColors, disFillAlphas,
+                    verticalGradientMatrix(1, 1, w - 2, h - 2)); 
+
+                break;
+            }
+        }
+        
+        // Draw the checkmark symbol.
+        if (bDrawCheck)
+        {
+            /*
+                g.beginFill(checkColor);
+                g.moveTo(3, 5);
+                g.lineTo(5, 10);
+                g.lineTo(7, 10);
+                g.lineTo(12, 2);
+                g.lineTo(13, 1);
+                g.lineTo(11, 1);
+                g.lineTo(6.5, 7);
+                g.lineTo(5, 5);
+                g.lineTo(3, 5);
+                g.endFill();
+            */
+            g.beginFill(checkColor);
+            g.moveTo(11,5);
+            g.lineTo(9,10);
+            g.lineTo(7, 10);
+            g.lineTo(2, 2);
+            g.lineTo(1, 1);
+            g.lineTo(3, 1);
+            g.lineTo(7.5, 7);
+            g.lineTo(9, 5);
+            g.lineTo(5, 5);
+            g.endFill();
+        }
+    }
+}
+
+}

Added: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/bundle1.properties
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/bundle1.properties?rev=1369982&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/bundle1.properties (added)
+++ incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/bundle1.properties Mon Aug  6 20:25:24 2012
@@ -0,0 +1,63 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+# This is sample data for a 1st resource bundle in the fr_FR locale.
+
+# Strings
+SHUTDOWN=Arrêté
+CHECKFORUPDATES=Vérifiez les mises à jour
+EMPTYSTRING=
+FONTSTYLERIGHT=italic
+FONTSTYLELEFT=normal
+
+# String Arrays
+NEIGHBORS=Spain,Belgium,Luxembourg,Germany,Switzerland,Italy
+NEIGHBORS_SPACES = Spain, Belgium, Luxemburg, Germany, Switzerland, Italy
+NEIGHBORS_DELIMITERS= ,,,,,
+EMPTYSTRINGARRAY=
+MONTHNAMES=fr_January,fr_February,fr_March,fr_April,fr_May,fr_June,fr_July,fr_August,fr_September,fr_October,fr_November,fr_December
+FILLCOLORS=green,blue
+
+# Numbers
+MEDIANAGE=39
+MEDIANAGE_DECIMAL_PERIOD=39.1
+MEDIANAGE_DECIMAL_COMMA=39,1
+POPULATION=62752136
+EMPTYNUMBER=
+ALPHA=0.3
+MAXCHARS=7
+SELECTEDCOLOR=0x0000FF
+FONTSIZELEFT=12
+FONTSIZERIGHT=3
+PRECISION=3
+TEXTCOLOR=0xFF0000
+
+# Booleans
+TESTBOOL_TRUE=true
+TESTBOOL_FALSE=false
+EMPTYBOOLEAN=
+LEFTCHECKBOX=false
+RIGHTCHECKBOX=true
+
+# Classes
+FLAG=Embed("../../../../../../../../Assets/Images/FlagImages/flag_fr_FR.png")
+CHECKBOXSKIN=ClassReference("MyCheckBoxIcon_fr_FR")
+
+# Objects
+# Get any of the above to test Object.  They all work by using getObject, then
+# casting to the expected type. 
\ No newline at end of file

Added: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/bundle2.properties
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/bundle2.properties?rev=1369982&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/bundle2.properties (added)
+++ incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/bundle2.properties Mon Aug  6 20:25:24 2012
@@ -0,0 +1,35 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+# This is sample data for a 2nd resource bundle in the fr_FR locale.
+
+# Strings
+BUNDLETWOSTRING=BundleTwoString, fr_FR
+
+# String Arrays
+BUNDLETWOSTRINGARRAY=Bundle,Two,String,Array,fr_FR
+
+# Numbers
+BUNDLETWONUMBER=22
+
+# Booleans
+BUNDLETWOBOOLEANTRUE=true
+BUNDLETWOBOOLEANFALSE=false
+
+# Classes
+BUNDLETWOCLASS=Embed("flag_fr_FR_bundle2.png")

Added: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/bundle3.properties
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/bundle3.properties?rev=1369982&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/bundle3.properties (added)
+++ incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/bundle3.properties Mon Aug  6 20:25:24 2012
@@ -0,0 +1,35 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+# This is sample data for a 3rd resource bundle in the fr_FR locale.
+
+# Strings
+BUNDLETHREESTRING=BundleThreeString, fr_FR
+
+# String Arrays
+BUNDLETHREESTRINGARRAY=Bundle,Three,String,Array,fr_FR
+
+# Numbers
+BUNDLETHREENUMBER=33
+
+# Booleans
+BUNDLETHREEBOOLEANTRUE=true
+BUNDLETHREEBOOLEANFALSE=false
+
+# Classes
+BUNDLETHREECLASS=Embed("flag_fr_FR_bundle3.png")

Added: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/bundle4.properties
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/bundle4.properties?rev=1369982&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/bundle4.properties (added)
+++ incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/bundle4.properties Mon Aug  6 20:25:24 2012
@@ -0,0 +1,35 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+# This is sample data for a 4th resource bundle in the fr_FR locale.
+
+# Strings
+BUNDLEFOURSTRING=BundleFourString, fr_FR
+
+# String Arrays
+BUNDLEFOURSTRINGARRAY=Bundle,Four,String,Array,fr_FR
+
+# Numbers
+BUNDLEFOURNUMBER=44
+
+# Booleans
+BUNDLEFOURBOOLEANTRUE=true
+BUNDLEFOURBOOLEANFALSE=false
+
+# Classes
+BUNDLEFOURCLASS=Embed("flag_fr_FR_bundle4.png")

Added: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/bundle5.properties
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/bundle5.properties?rev=1369982&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/bundle5.properties (added)
+++ incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/bundle5.properties Mon Aug  6 20:25:24 2012
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  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.
+##
+################################################################################

Added: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/core.properties
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/core.properties?rev=1369982&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/core.properties (added)
+++ incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/core.properties Mon Aug  6 20:25:24 2012
@@ -0,0 +1,45 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+# Symbols
+
+# UITextField
+
+truncationIndicator=f..
+
+# Developer RTE Section
+
+# Core
+
+multipleChildSets_ClassAndInstance=French Multiple sets of visual children have been specified for this component (component definition and component instance).
+multipleChildSets_ClassAndSubclass=French Multiple sets of visual children have been specified for this component (base component definition and derived component definition).
+
+# Repeater
+
+notExecuting=French Repeater is not executing.
+
+# UIComponent
+
+stateUndefined=French Undefined state '{0}'.
+
+viewSource=French View Source
+
+# Version (FlexVersion)
+
+versionAlreadySet=French Compatibility version has already been set.
+versionAlreadyRead=French Compatibility version has already been read.

Added: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/flag_fr_FR_bundle2.png
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/flag_fr_FR_bundle2.png?rev=1369982&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/flag_fr_FR_bundle2.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/flag_fr_FR_bundle3.png
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/flag_fr_FR_bundle3.png?rev=1369982&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/flag_fr_FR_bundle3.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/flag_fr_FR_bundle4.png
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/flag_fr_FR_bundle4.png?rev=1369982&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/flag_fr_FR_bundle4.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/styles.properties
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/styles.properties?rev=1369982&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/styles.properties (added)
+++ incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/fr_FR/styles.properties Mon Aug  6 20:25:24 2012
@@ -0,0 +1,19 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+

Added: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/HaloColors.as
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/HaloColors.as?rev=1369982&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/HaloColors.as (added)
+++ incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/HaloColors.as Mon Aug  6 20:25:24 2012
@@ -0,0 +1,104 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package
+{
+
+import mx.utils.ColorUtil;
+
+/**
+ *  Defines the colors used by components that support the Halo theme.
+ */
+public class HaloColors 
+{
+    //include "../../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private static var cache:Object = {};
+    
+    //--------------------------------------------------------------------------
+    //
+    //  Class methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Returns a unique hash key based on the colors that are passed in. This
+     *  key is used to store the calculated colors so they only need to be 
+     *  calculated once.
+     */
+    public static function getCacheKey(... colors):String
+    {
+        return colors.join(",");
+    }
+
+    /**
+     *  Calculates colors that are used by components that support the Halo theme, such as the colors of beveled edges.
+     *  This method uses the <code>themeColor</code> and <code>fillColors</code> properties to calculate its colors. 
+     * 
+     *  @param colors 
+     *  @param themeColor The value of the <code>themeColor</code> style property.
+     *  @param fillColor0 The start color of a fill.
+     *  @param fillColor1 The end color of a fill.
+     */
+    public static function addHaloColors(colors:Object,
+                                         themeColor:uint,
+                                         fillColor0:uint,
+                                         fillColor1:uint):void
+    {
+        var key:String = getCacheKey(themeColor, fillColor0, fillColor1); 
+        var o:Object = cache[key];
+        
+        if (!o)
+        {
+            o = cache[key] = {};
+            
+            // Cross-component styles
+            o.themeColLgt = ColorUtil.adjustBrightness(themeColor, 100);
+            o.themeColDrk1 = ColorUtil.adjustBrightness(themeColor, -75);
+            o.themeColDrk2 = ColorUtil.adjustBrightness(themeColor, -25);
+            o.fillColorBright1 = ColorUtil.adjustBrightness2(fillColor0, 15);
+            o.fillColorBright2 = ColorUtil.adjustBrightness2(fillColor1, 15);
+            o.fillColorPress1 = ColorUtil.adjustBrightness2(themeColor, 85);
+            o.fillColorPress2 = ColorUtil.adjustBrightness2(themeColor, 60);
+            o.bevelHighlight1 = ColorUtil.adjustBrightness2(fillColor0, 40);
+            o.bevelHighlight2 = ColorUtil.adjustBrightness2(fillColor1, 40);
+        }
+        
+        colors.themeColLgt = o.themeColLgt;
+        colors.themeColDrk1 = o.themeColDrk1;
+        colors.themeColDrk2 = o.themeColDrk2;
+        colors.fillColorBright1 = o.fillColorBright1;
+        colors.fillColorBright2 = o.fillColorBright2;
+        colors.fillColorPress1 = o.fillColorPress1;
+        colors.fillColorPress2 = o.fillColorPress2;
+        colors.bevelHighlight1 = o.bevelHighlight1;
+        colors.bevelHighlight2 = o.bevelHighlight2;
+    }
+}
+
+}

Added: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/MyCheckBoxIcon_ja_JP.as
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/MyCheckBoxIcon_ja_JP.as?rev=1369982&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/MyCheckBoxIcon_ja_JP.as (added)
+++ incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/MyCheckBoxIcon_ja_JP.as Mon Aug  6 20:25:24 2012
@@ -0,0 +1,423 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package
+{
+
+import flash.display.GradientType;
+import flash.display.Graphics;
+import mx.skins.Border;
+import mx.styles.StyleManager;
+import mx.utils.ColorUtil;
+
+/**
+ *  The skin for all the states of the icon in a CheckBox.
+ */
+public class MyCheckBoxIcon_ja_JP extends Border
+{
+    //include "../../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private static var cache:Object = {};
+    
+    //--------------------------------------------------------------------------
+    //
+    //  Class methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Several colors used for drawing are calculated from the base colors
+     *  of the component (themeColor, borderColor and fillColors).
+     *  Since these calculations can be a bit expensive,
+     *  we calculate once per color set and cache the results.
+     */
+    private static function calcDerivedStyles(themeColor:uint,
+                                              borderColor:uint,
+                                              fillColor0:uint,
+                                              fillColor1:uint):Object
+    {
+        var key:String = HaloColors.getCacheKey(themeColor, borderColor,
+                                                fillColor0, fillColor1);
+        
+        if (!cache[key])
+        {
+            var o:Object = cache[key] = {};
+            
+            // Cross-component styles.
+            HaloColors.addHaloColors(o, themeColor, fillColor0, fillColor1);
+            
+            // CheckBox-specific styles.
+            o.borderColorDrk1 = ColorUtil.adjustBrightness2(borderColor, -50);
+        }
+        
+        return cache[key];
+    }
+    
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     */
+    public function MyCheckBoxIcon_ja_JP()
+    {
+        super();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  measuredWidth
+    //----------------------------------
+    
+    /**
+     *  @private
+     */    
+    override public function get measuredWidth():Number
+    {
+        return 14;
+    }
+    
+    //----------------------------------
+    //  measuredHeight
+    //----------------------------------
+    
+    /**
+     *  @private
+     */        
+    override public function get measuredHeight():Number
+    {
+        return 14;
+    }
+    
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override protected function updateDisplayList(w:Number, h:Number):void
+    {
+        super.updateDisplayList(w, h);
+
+        // User-defined styles
+        var borderColor:uint = getStyle("borderColor");
+        var fillAlphas:Array = getStyle("fillAlphas");
+        var fillColors:Array = getStyle("fillColors");
+        StyleManager.getColorNames(fillColors);
+        var highlightAlphas:Array = getStyle("highlightAlphas");        
+        var themeColor:uint = getStyle("themeColor");
+        
+        // Placeholder styles stub  
+        var checkColor:uint = 0x2B333C;// added style prop
+        
+        // Derived styles
+        var derStyles:Object = calcDerivedStyles(themeColor, borderColor, 
+                                                 fillColors[0], fillColors[1]);
+        
+        var borderColorDrk1:Number =
+            ColorUtil.adjustBrightness2(borderColor, -50);
+        
+        var themeColorDrk1:Number =
+            ColorUtil.adjustBrightness2(themeColor, -25);
+        
+        var bDrawCheck:Boolean = false;
+        
+        var upFillColors:Array;
+        var upFillAlphas:Array;
+        
+        var overFillColors:Array;
+        var overFillAlphas:Array;
+        
+        var disFillColors:Array;
+        var disFillAlphas:Array;
+
+        var g:Graphics = graphics;
+        
+        g.clear();
+        
+        switch (name)
+        {
+            case "upIcon":
+            {
+                upFillColors = [ fillColors[0], fillColors[1] ];
+                upFillAlphas = [ fillAlphas[0], fillAlphas[1] ];
+
+                // border
+                drawRoundRect(
+                    0, 0, w, h, 0,
+                    [ borderColor, borderColorDrk1 ], 1,
+                    verticalGradientMatrix(0, 0, w, h ),
+                    GradientType.LINEAR, null, 
+                    { x: 1, y: 1, w: w - 2, h: h - 2, r: 0 });
+ 
+
+                // box fill
+                drawRoundRect(
+                    1, 1, w - 2, h - 2, 0,
+                    upFillColors, upFillAlphas,
+                    verticalGradientMatrix(1, 1, w - 2, h - 2)); 
+
+                // top highlight
+                drawRoundRect(
+                    1, 1, w - 2, (h - 2) / 2, 0,
+                    [ 0xFFFFFF, 0xFFFFFF ], highlightAlphas,
+                    verticalGradientMatrix(1, 1, w - 2, (h - 2) / 2)); 
+
+
+                break;
+            }
+                
+            case "overIcon":
+            {
+                if (fillColors.length > 2)
+                    overFillColors = [ fillColors[2], fillColors[3] ];
+                else
+                    overFillColors = [ fillColors[0], fillColors[1] ];
+
+                if (fillAlphas.length > 2)
+                    overFillAlphas = [ fillAlphas[2], fillAlphas[3] ];
+                else
+                    overFillAlphas = [ fillAlphas[0], fillAlphas[1] ];
+
+                // border
+                drawRoundRect(
+                    0, 0, w, h, 0,
+                    [ themeColor, themeColorDrk1 ], 1,
+                    verticalGradientMatrix(0, 0, w, h),
+                    GradientType.LINEAR, null, 
+                    { x: 1, y: 1, w: w - 2, h: h - 2, r: 0 }); 
+                
+                // box fill
+                drawRoundRect(
+                    1, 1, w - 2, h - 2, 0,
+                    overFillColors, overFillAlphas,
+                    verticalGradientMatrix(1, 1, w - 2, h - 2));
+
+                // top highlight
+                drawRoundRect(
+                    1, 1, w - 2, (h - 2) / 2, 0,
+                    [ 0xFFFFFF, 0xFFFFFF ], highlightAlphas,
+                    verticalGradientMatrix(1, 1, w - 2, (h - 2) / 2)); 
+
+                break;
+            }
+
+            case "downIcon":
+            {               
+                // border
+                drawRoundRect(
+                    0, 0, w, h, 0,
+                    [ themeColor, themeColorDrk1 ], 1,
+                    verticalGradientMatrix(0, 0, w, h)); 
+                
+                // box fill
+                drawRoundRect(
+                    1, 1, w - 2, h - 2, 0,
+                    [ derStyles.fillColorPress1,
+                    derStyles.fillColorPress2 ], 1,
+                    verticalGradientMatrix(1, 1, w - 2, h - 2)); 
+                            
+                // top highlight
+                drawRoundRect(
+                    1, 1, w - 2, (h - 2) / 2, 0,
+                    [ 0xFFFFFF, 0xFFFFFF ], highlightAlphas,
+                    verticalGradientMatrix(1, 1, w - 2, (h - 2) / 2));
+
+                break;
+            }
+
+            case "disabledIcon":
+            {
+                disFillColors = [ fillColors[0], fillColors[1] ];
+                disFillAlphas = [ Math.max(0, fillAlphas[0] - 15),
+                                  Math.max(0, fillAlphas[1] - 15) ];
+
+                // border
+                drawRoundRect(
+                    0, 0, w, h, 0,
+                    [ borderColor, borderColorDrk1 ], 0.5,
+                    verticalGradientMatrix(0, 0, w, h),
+                    GradientType.LINEAR, null, 
+                    { x: 1, y: 1, w: w - 2, h: h - 2, r: 0 }); 
+
+                // box fill
+                drawRoundRect(
+                    1, 1, w - 2, h - 2, 0,
+                    disFillColors, disFillAlphas,
+                    verticalGradientMatrix(1, 1, w - 2, h - 2)); 
+
+                break;
+            }
+                        
+            case "selectedUpIcon":
+            {
+                bDrawCheck = true;
+                
+                upFillColors = [ fillColors[0], fillColors[1] ];
+                upFillAlphas = [ fillAlphas[0], fillAlphas[1] ];
+
+                // border
+                drawRoundRect(
+                    0, 0, w, h, 0,
+                    [ borderColor, borderColorDrk1 ], 1,
+                    verticalGradientMatrix(0, 0, w, h),
+                    GradientType.LINEAR, null, 
+                    { x: 1, y: 1, w: w - 2, h: h - 2, r: 0 }); 
+
+                // box fill
+                drawRoundRect(
+                    1, 1, w - 2, h - 2, 0,
+                    upFillColors, upFillAlphas,
+                    verticalGradientMatrix(1, 1, w - 2, h - 2)); 
+
+                // top highlight
+                drawRoundRect(
+                    1, 1, w - 2, (h - 2) / 2, 0,
+                    [ 0xFFFFFF, 0xFFFFFF ], highlightAlphas,
+                    verticalGradientMatrix(1, 1, w - 2, (h - 2) / 2));
+
+                break;
+            }
+
+            case "selectedOverIcon":
+            {
+                bDrawCheck = true;
+                
+                if (fillColors.length > 2)
+                    overFillColors = [ fillColors[2], fillColors[3] ];
+                else
+                    overFillColors = [ fillColors[0], fillColors[1] ];
+
+                if (fillAlphas.length > 2)
+                    overFillAlphas = [ fillAlphas[2], fillAlphas[3] ];
+                else
+                    overFillAlphas = [ fillAlphas[0], fillAlphas[1] ];
+
+                // border
+                drawRoundRect(
+                    0, 0, w, h, 0,
+                    [ themeColor, themeColorDrk1 ], 1,
+                    verticalGradientMatrix(0, 0, w, h),
+                    GradientType.LINEAR, null,
+                    { x: 1, y: 1, w: w - 2, h: h - 2, r: 0 }); 
+
+                // box fill
+                drawRoundRect(
+                    1, 1, w - 2, h - 2, 0,
+                    overFillColors, overFillAlphas,
+                    verticalGradientMatrix(1, 1, w - 2, h - 2)); 
+
+                // top highlight
+                drawRoundRect(
+                    1, 1, w - 2, (h - 2) / 2, 0,
+                    [ 0xFFFFFF, 0xFFFFFF ], highlightAlphas,
+                    verticalGradientMatrix(1, 1, w - 2, (h - 2) / 2)); 
+                
+                break;
+            }
+
+            case "selectedDownIcon":
+            {
+                bDrawCheck = true;
+                
+                // border
+                drawRoundRect(
+                    0, 0, w, h, 0,
+                    [ themeColor, themeColorDrk1 ], 1,
+                    verticalGradientMatrix(0, 0, w, h)); 
+                
+                // box fill
+                drawRoundRect(
+                    1, 1, w - 2, h - 2, 0,
+                    [ derStyles.fillColorPress1,
+                    derStyles.fillColorPress2 ], 1,
+                    verticalGradientMatrix(1, 1, w - 2, h - 2)); 
+                            
+                // top highlight
+                drawRoundRect(
+                    1, 1, w - 2, (h - 2) / 2, 0,
+                    [ 0xFFFFFF, 0xFFFFFF ], highlightAlphas,
+                    verticalGradientMatrix(1, 1, w - 2, (h - 2) / 2)); 
+
+                break;
+            }
+
+            case "selectedDisabledIcon":
+            {
+                bDrawCheck = true;
+                checkColor = 0x999999;
+                
+                disFillColors = [ fillColors[0], fillColors[1] ];
+                disFillAlphas = [ Math.max( 0, fillAlphas[0] - 0.15),
+                                  Math.max( 0, fillAlphas[1] - 0.15) ];
+
+                // border
+                drawRoundRect(
+                    0, 0, w, h, 0,
+                    [ borderColor, borderColorDrk1 ], 0.5,
+                    verticalGradientMatrix(0, 0, w, h),
+                    GradientType.LINEAR, null, 
+                    { x: 1, y: 1, w: w - 2, h: h - 2, r: 0 }); 
+
+                // box fill
+                drawRoundRect(
+                    1, 1, w - 2, h - 2, 0,
+                    disFillColors, disFillAlphas,
+                    verticalGradientMatrix(1, 1, w - 2, h - 2)); 
+
+                break;
+            }
+        }
+        
+        // Draw the checkmark symbol.
+        if (bDrawCheck)
+        {
+            g.beginFill(checkColor);
+            g.moveTo(3, 3);
+            g.lineTo(11, 3);
+            g.lineTo(11, 11);
+            g.lineTo(3, 11);
+            g.lineTo(3, 3);
+            g.endFill();
+        }
+    }
+}
+
+}

Added: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/bundle1.properties
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/bundle1.properties?rev=1369982&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/bundle1.properties (added)
+++ incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/bundle1.properties Mon Aug  6 20:25:24 2012
@@ -0,0 +1,63 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+# This is sample data for a 1st resource bundle in the ja_JP locale.
+
+# Strings
+SHUTDOWN=シャットダウンされています
+CHECKFORUPDATES=アップデートについてのチェック
+EMPTYSTRING=
+FONTSTYLERIGHT=italic
+FONTSTYLELEFT=italic
+
+# String Arrays
+NEIGHBORS=South Korea,North Korea,Russia
+NEIGHBORS_SPACES = South Korea, North Korea, Russia
+NEIGHBORS_DELIMITERS=,,
+EMPTYSTRINGARRAY=
+MONTHNAMES=ja_January,ja_February,ja_March,ja_April,ja_May,ja_June,ja_July,ja_August,ja_September,ja_October,ja_November,ja_December
+FILLCOLORS=white,red
+
+# Numbers
+MEDIANAGE=43
+MEDIANAGE_DECIMAL_PERIOD=42.9
+MEDIANAGE_DECIMAL_COMMA=42,9
+POPULATION=127463611
+EMPTYNUMBER=
+ALPHA=0.5
+MAXCHARS=3
+SELECTEDCOLOR=0xFF0000
+FONTSIZELEFT=3
+FONTSIZERIGHT=3
+PRECISION=6
+TEXTCOLOR=0x00FF00
+
+# Booleans
+TESTBOOL_TRUE=true
+TESTBOOL_FALSE=false
+EMPTYBOOLEAN=
+LEFTCHECKBOX=true
+RIGHTCHECKBOX=true
+
+# Classes
+FLAG=Embed("../../../../../../../../Assets/Images/FlagImages/flag_ja_JP.png")
+CHECKBOXSKIN=ClassReference("MyCheckBoxIcon_ja_JP")
+
+# Objects
+# Get any of the above to test Object.  They all work by using getObject, then
+# casting to the expected type. 
\ No newline at end of file

Added: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/bundle2.properties
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/bundle2.properties?rev=1369982&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/bundle2.properties (added)
+++ incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/bundle2.properties Mon Aug  6 20:25:24 2012
@@ -0,0 +1,35 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+# This is bundle 2 for the ja_JP locale
+
+# Strings
+BUNDLETWOSTRING=BundleTwoString, ja_JP
+
+# String Arrays
+BUNDLETWOSTRINGARRAY=Bundle,Two,String,Array,ja_JP
+
+# Numbers
+BUNDLETWONUMBER=22_22_22
+
+# Booleans
+BUNDLETWOBOOLEANTRUE=true
+BUNDLETWOBOOLEANFALSE=false
+
+# Classes
+BUNDLETWOCLASS=Embed("flag_ja_JP_bundle2.png")

Added: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/bundle3.properties
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/bundle3.properties?rev=1369982&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/bundle3.properties (added)
+++ incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/bundle3.properties Mon Aug  6 20:25:24 2012
@@ -0,0 +1,35 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+# This is sample data for a 3rd resource bundle in the ja_JP locale.
+
+# Strings
+BUNDLETHREESTRING=BundleThreeString, ja_JP
+
+# String Arrays
+BUNDLETHREESTRINGARRAY=Bundle,Three,String,Array,ja_JP
+
+# Numbers
+BUNDLETHREENUMBER=33_33_33
+
+# Booleans
+BUNDLETHREEBOOLEANTRUE=true
+BUNDLETHREEBOOLEANFALSE=false
+
+# Classes
+BUNDLETHREECLASS=Embed("flag_ja_JP_bundle3.png")

Added: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/bundle4.properties
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/bundle4.properties?rev=1369982&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/bundle4.properties (added)
+++ incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/bundle4.properties Mon Aug  6 20:25:24 2012
@@ -0,0 +1,35 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+# This is sample data for a 4th resource bundle in the ja_JP locale.
+
+# Strings
+BUNDLEFOURSTRING=BundleFourString, ja_JP
+
+# String Arrays
+BUNDLEFOURSTRINGARRAY=Bundle,Four,String,Array,ja_JP
+
+# Numbers
+BUNDLEFOURNUMBER=44_44_44
+
+# Booleans
+BUNDLEFOURBOOLEANTRUE=true
+BUNDLEFOURBOOLEANFALSE=false
+
+# Classes
+BUNDLEFOURCLASS=Embed("flag_ja_JP_bundle4.png")

Added: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/bundle5.properties
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/bundle5.properties?rev=1369982&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/bundle5.properties (added)
+++ incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/bundle5.properties Mon Aug  6 20:25:24 2012
@@ -0,0 +1,35 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+# This is sample data for a 5th resource bundle in the ja_JP locale.
+
+# Strings
+BUNDLEFIVESTRING=BundleFiveString, ja_JP
+
+# String Arrays
+BUNDLEFIVESTRINGARRAY=Bundle,Five,String,Array,ja_JP
+
+# Numbers
+BUNDLEFIVENUMBER=55_55_55
+
+# Booleans
+BUNDLEFIVEBOOLEANTRUE=true
+BUNDLEFIVEBOOLEANFALSE=false
+
+# Classes
+BUNDLEFIVECLASS=Embed("flag_ja_JP_bundle5.gif")

Added: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/core.properties
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/core.properties?rev=1369982&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/core.properties (added)
+++ incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/core.properties Mon Aug  6 20:25:24 2012
@@ -0,0 +1,41 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+# Symbols
+
+# UITextField
+
+truncationIndicator = !!!
+
+# Developer RTE Section
+
+# Core
+
+multipleChildSets_ClassAndInstance  =  このコンポーネント (コンポーネント定義とコンポーネントインスタンス) に対して、可視の子のセットが複数指定されています。
+multipleChildSets_ClassAndSubclass  =  このコンポーネント (基本の core.properties) に対して、可視の子のセットが複数指定されています。
+
+
+# Repeater
+
+notExecuting = Repeater は実行されていません。
+
+# UIComponent
+
+stateUndefined  = 未定義のステート '{0}'
+
+viewSource = ソースの表示

Added: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/flag_ja_JP_bundle2.png
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/flag_ja_JP_bundle2.png?rev=1369982&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/flag_ja_JP_bundle2.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/flag_ja_JP_bundle3.png
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/flag_ja_JP_bundle3.png?rev=1369982&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/flag_ja_JP_bundle3.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/flag_ja_JP_bundle4.png
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/flag_ja_JP_bundle4.png?rev=1369982&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/flag_ja_JP_bundle4.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/styles.properties
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/styles.properties?rev=1369982&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/styles.properties (added)
+++ incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/styles.properties Mon Aug  6 20:25:24 2012
@@ -0,0 +1,19 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+

Added: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/test.properties
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/test.properties?rev=1369982&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/test.properties (added)
+++ incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom/ja_JP/test.properties Mon Aug  6 20:25:24 2012
@@ -0,0 +1,27 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+ERROR=エラー
+
+SHUTDOWN=シャットダウンされています
+
+REBOOT=リブートします
+
+LOGOUT=ログアウトしてください
+
+CHECKFORUPDATES=アップデートについてのチェック
\ No newline at end of file

Added: incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom2/en_US/HaloColors.as
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom2/en_US/HaloColors.as?rev=1369982&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom2/en_US/HaloColors.as (added)
+++ incubator/flex/trunk/mustella/tests/RuntimeLocalization/RTL_HaloSkin/SWFs/Assets/bundles/custom2/en_US/HaloColors.as Mon Aug  6 20:25:24 2012
@@ -0,0 +1,104 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package
+{
+
+import mx.utils.ColorUtil;
+
+/**
+ *  Defines the colors used by components that support the Halo theme.
+ */
+public class HaloColors 
+{
+    //include "../../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private static var cache:Object = {};
+    
+    //--------------------------------------------------------------------------
+    //
+    //  Class methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Returns a unique hash key based on the colors that are passed in. This
+     *  key is used to store the calculated colors so they only need to be 
+     *  calculated once.
+     */
+    public static function getCacheKey(... colors):String
+    {
+        return colors.join(",");
+    }
+
+    /**
+     *  Calculates colors that are used by components that support the Halo theme, such as the colors of beveled edges.
+     *  This method uses the <code>themeColor</code> and <code>fillColors</code> properties to calculate its colors. 
+     * 
+     *  @param colors 
+     *  @param themeColor The value of the <code>themeColor</code> style property.
+     *  @param fillColor0 The start color of a fill.
+     *  @param fillColor1 The end color of a fill.
+     */
+    public static function addHaloColors(colors:Object,
+                                         themeColor:uint,
+                                         fillColor0:uint,
+                                         fillColor1:uint):void
+    {
+        var key:String = getCacheKey(themeColor, fillColor0, fillColor1); 
+        var o:Object = cache[key];
+        
+        if (!o)
+        {
+            o = cache[key] = {};
+            
+            // Cross-component styles
+            o.themeColLgt = ColorUtil.adjustBrightness(themeColor, 100);
+            o.themeColDrk1 = ColorUtil.adjustBrightness(themeColor, -75);
+            o.themeColDrk2 = ColorUtil.adjustBrightness(themeColor, -25);
+            o.fillColorBright1 = ColorUtil.adjustBrightness2(fillColor0, 15);
+            o.fillColorBright2 = ColorUtil.adjustBrightness2(fillColor1, 15);
+            o.fillColorPress1 = ColorUtil.adjustBrightness2(themeColor, 85);
+            o.fillColorPress2 = ColorUtil.adjustBrightness2(themeColor, 60);
+            o.bevelHighlight1 = ColorUtil.adjustBrightness2(fillColor0, 40);
+            o.bevelHighlight2 = ColorUtil.adjustBrightness2(fillColor1, 40);
+        }
+        
+        colors.themeColLgt = o.themeColLgt;
+        colors.themeColDrk1 = o.themeColDrk1;
+        colors.themeColDrk2 = o.themeColDrk2;
+        colors.fillColorBright1 = o.fillColorBright1;
+        colors.fillColorBright2 = o.fillColorBright2;
+        colors.fillColorPress1 = o.fillColorPress1;
+        colors.fillColorPress2 = o.fillColorPress2;
+        colors.bevelHighlight1 = o.bevelHighlight1;
+        colors.bevelHighlight2 = o.bevelHighlight2;
+    }
+}
+
+}



Mime
View raw message