Repository: flex-sdk
Updated Branches:
  refs/heads/iso7skins [created] 3fd6027d7


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3fd6027d/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/CheckBox_downSelected.fxg
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/CheckBox_downSelected.fxg
 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/CheckBox_downSelected.fxg
new file mode 100644
index 0000000..ea7c3c4
--- /dev/null
+++ 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/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/3fd6027d/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/CheckBox_downSymbolSelected.fxg
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/CheckBox_downSymbolSelected.fxg
 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/CheckBox_downSymbolSelected.fxg
new file mode 100644
index 0000000..f59d001
--- /dev/null
+++ 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/CheckBox_downSymbolSelected.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";>
+  <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">
+      <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/3fd6027d/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/CheckBox_up.fxg
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/CheckBox_up.fxg 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/CheckBox_up.fxg
new file mode 100644
index 0000000..9d65260
--- /dev/null
+++ 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/CheckBox_up.fxg
@@ -0,0 +1,31 @@
+<?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>
+        <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"/>
+          </fill>
+        </Path>
+      </Group>
+    </Group>
+</Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3fd6027d/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/CheckBox_upSelected.fxg
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/CheckBox_upSelected.fxg
 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/CheckBox_upSelected.fxg
new file mode 100644
index 0000000..f51d7df
--- /dev/null
+++ 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/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/3fd6027d/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/CheckBox_upSymbolSelected.fxg
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/CheckBox_upSymbolSelected.fxg
 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/CheckBox_upSymbolSelected.fxg
new file mode 100644
index 0000000..a728d3d
--- /dev/null
+++ 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/CheckBox_upSymbolSelected.fxg
@@ -0,0 +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>
+      <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>
+  </Group>
+</Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3fd6027d/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/HSliderThumb_normal.fxg
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/HSliderThumb_normal.fxg
 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/HSliderThumb_normal.fxg
new file mode 100644
index 0000000..c046673
--- /dev/null
+++ 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/HSliderThumb_normal.fxg
@@ -0,0 +1,34 @@
+<?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="6.75" scaleGridRight="20.25" scaleGridTop="20.25" 
scaleGridBottom="6.75">
+    <Path alpha="0.5" winding="nonZero" data="M27 13.5C27 20.9556 20.9561 27 
13.5 27 6.04395 27 0 20.9556 0 13.5 0 6.04395 6.04395 0 13.5 0 20.9561 0 27 
6.04395 27 13.5Z">
+      <fill>
+        <SolidColor color="#33B5E5"/>
+      </fill>
+    </Path>
+    <Path x="10.0049" y="10" winding="nonZero" data="M7 3.5C7 5.43262 5.43262 
7 3.5 7 1.56738 7 0 5.43262 0 3.5 0 1.56689 1.56738 0 3.5 0 5.43262 0 7 1.56689 
7 3.5Z">
+      <fill>
+        <SolidColor color="#33B5E5"/>
+      </fill>
+    </Path>
+  </Group>
+</Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3fd6027d/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/HSliderThumb_pressed.fxg
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/HSliderThumb_pressed.fxg
 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/HSliderThumb_pressed.fxg
new file mode 100644
index 0000000..416f795
--- /dev/null
+++ 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/HSliderThumb_pressed.fxg
@@ -0,0 +1,39 @@
+<?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="7.75" scaleGridRight="23.25" scaleGridTop="23.25" 
scaleGridBottom="7.75">
+    <Path x="2" y="2" alpha="0.5" winding="nonZero" data="M27 13.5C27 20.9556 
20.9561 27 13.5 27 6.04395 27 0 20.9556 0 13.5 0 6.04395 6.04395 0 13.5 0 
20.9561 0 27 6.04395 27 13.5Z">
+      <fill>
+        <SolidColor color="#33B5E5"/>
+      </fill>
+    </Path>
+    <Path winding="nonZero" data="M15.5 2C22.9561 2 29 8.04395 29 15.5 29 
22.9561 22.9561 29 15.5 29 8.04395 29 2 22.9561 2 15.5 2 8.04395 8.04395 2 15.5 
2ZM15.5 0C6.95313 0 0 6.95313 0 15.5 0 24.0469 6.95313 31 15.5 31 24.0469 31 31 
24.0469 31 15.5 31 6.95313 24.0469 0 15.5 0Z">
+      <fill>
+        <SolidColor color="#33B5E5"/>
+      </fill>
+    </Path>
+    <Path x="12.0049" y="12" winding="nonZero" data="M7 3.5C7 5.43262 5.43262 
7 3.5 7 1.56738 7 0 5.43262 0 3.5 0 1.56689 1.56738 0 3.5 0 5.43262 0 7 1.56689 
7 3.5Z">
+      <fill>
+        <SolidColor color="#33B5E5"/>
+      </fill>
+    </Path>
+  </Group>
+</Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3fd6027d/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/HSliderTrack.fxg
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/HSliderTrack.fxg 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/HSliderTrack.fxg
new file mode 100644
index 0000000..ee464e0
--- /dev/null
+++ 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/HSliderTrack.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";>
+  <Group scaleGridLeft="82" scaleGridRight="246" scaleGridTop="1.5" 
scaleGridBottom="0.5">
+    <Path winding="nonZero" data="M328 2 0 2 0 0 328 0 328 2Z">
+      <fill>
+        <SolidColor color="#A6A6A6"/>
+      </fill>
+    </Path>
+  </Group>
+</Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3fd6027d/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/HSliderTrack_filled.fxg
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/HSliderTrack_filled.fxg
 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/HSliderTrack_filled.fxg
new file mode 100644
index 0000000..c4d4f74
--- /dev/null
+++ 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/HSliderTrack_filled.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";>
+  <Group scaleGridLeft="82" scaleGridRight="246" scaleGridTop="1.5" 
scaleGridBottom="0.5">
+    <Path winding="nonZero" data="M328 2 0 2 0 0 328 0 328 2Z">
+      <fill>
+        <SolidColor color="#33B5E5"/>
+      </fill>
+    </Path>
+  </Group>
+</Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3fd6027d/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/RadioButton_down.fxg
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/RadioButton_down.fxg
 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/RadioButton_down.fxg
new file mode 100644
index 0000000..dc74414
--- /dev/null
+++ 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/RadioButton_down.fxg
@@ -0,0 +1,34 @@
+<?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 16C32 24.8364 24.8369 32 16 32 7.16309 
32 0 24.8364 0 16 0 7.16357 7.16309 0 16 0 24.8369 0 32 7.16357 32 16Z">
+      <fill>
+        <SolidColor color="#DEDEDD"/>
+      </fill>
+    </Path>
+    <Path x="8" y="8" winding="nonZero" data="M16 8C16 12.4185 12.418 16 8 16 
3.58203 16 0 12.4185 0 8 0 3.58154 3.58203 0 8 0 12.418 0 16 3.58154 16 8Z">
+      <stroke>
+        <SolidColorStroke caps="none" joints="miter" miterLimit="10" 
color="#676767"/>
+      </stroke>
+    </Path>
+  </Group>
+</Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3fd6027d/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/RadioButton_downSymbolSelected.fxg
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/RadioButton_downSymbolSelected.fxg
 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/RadioButton_downSymbolSelected.fxg
new file mode 100644
index 0000000..374c9fc
--- /dev/null
+++ 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/RadioButton_downSymbolSelected.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";>
+  <Group x="-1" y="-1" scaleGridLeft="2.5" scaleGridRight="7.5" 
scaleGridTop="7.5" scaleGridBottom="2.5">
+    <Path winding="nonZero" data="M10 5C10 7.76123 7.76172 10 5 10 2.23828 10 
0 7.76123 0 5 0 2.23877 2.23828 0 5 0 7.76172 0 10 2.23877 10 5Z">
+      <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/3fd6027d/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/RadioButton_up.fxg
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/RadioButton_up.fxg
 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/RadioButton_up.fxg
new file mode 100644
index 0000000..4110262
--- /dev/null
+++ 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/RadioButton_up.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.25" scaleGridRight="12.75" 
scaleGridTop="12.75" scaleGridBottom="4.25">
+    <Path x="0.5" y="0.5" winding="nonZero" data="M16 8C16 12.4185 12.418 16 8 
16 3.58203 16 0 12.4185 0 8 0 3.58154 3.58203 0 8 0 12.418 0 16 3.58154 16 8Z">
+      <stroke>
+        <SolidColorStroke caps="none" joints="miter" miterLimit="10" 
color="#676767"/>
+      </stroke>
+    </Path>
+  </Group>
+</Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3fd6027d/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/RadioButton_upSymbolSelected.fxg
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/RadioButton_upSymbolSelected.fxg
 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/RadioButton_upSymbolSelected.fxg
new file mode 100644
index 0000000..5b844b6
--- /dev/null
+++ 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/RadioButton_upSymbolSelected.fxg
@@ -0,0 +1,36 @@
+<?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>
+    <Group x="0.5" y="0.5">
+      <Path winding="nonZero" data="M10 5C10 7.76123 7.76172 10 5 10 2.23828 
10 0 7.76123 0 5 0 2.23877 2.23828 0 5 0 7.76172 0 10 2.23877 10 5Z">
+        <fill>
+          <SolidColor color="#33B5E5"/>
+        </fill>
+      </Path>
+    </Group>
+    <Path x="0.5" y="0.5" winding="nonZero" data="M10 5C10 7.76123 7.76172 10 
5 10 2.23828 10 0 7.76123 0 5 0 2.23877 2.23828 0 5 0 7.76172 0 10 2.23877 10 
5Z">
+      <stroke>
+        <SolidColorStroke caps="none" joints="miter" miterLimit="10" 
color="#676767"/>
+      </stroke>
+    </Path>
+  </Group>
+</Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3fd6027d/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/SpinnerListContainerBackground.fxg
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/SpinnerListContainerBackground.fxg
 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/SpinnerListContainerBackground.fxg
new file mode 100644
index 0000000..78d8c59
--- /dev/null
+++ 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/SpinnerListContainerBackground.fxg
@@ -0,0 +1,47 @@
+<?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="100" 
viewWidth="100"
+       scaleGridLeft="7" scaleGridTop="7" scaleGridRight="93" 
scaleGridBottom="93">
+          <!-- drop shadow-->
+    <Rect x="0" y="97" width="100" height="2">
+        <fill>
+            <SolidColor color="#FFFFFF" alpha=".35"/>
+        </fill>
+    </Rect>
+           <Rect x="0" y="98" width="65" height="1">
+        <fill>
+            <SolidColor color="#FFFFFF" alpha=".2"/>
+        </fill>
+    </Rect>
+    <Rect x="0" y="99" width="65" height="1">
+        <fill>
+            <SolidColor color="#FFFFFF" alpha="0.1"/>
+        </fill>
+    </Rect>
+       <Rect width="100" height="100" radiusX="1" radiusY="1">
+               <fill>
+                       <SolidColor color="#FFFFFF"/>
+               </fill>
+       </Rect>
+</Graphic>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3fd6027d/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/SpinnerListContainerSelectionIndicator.fxg
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/SpinnerListContainerSelectionIndicator.fxg
 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/SpinnerListContainerSelectionIndicator.fxg
new file mode 100644
index 0000000..067afb1
--- /dev/null
+++ 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/SpinnerListContainerSelectionIndicator.fxg
@@ -0,0 +1,44 @@
+<?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="48" 
viewWidth="100"
+       scaleGridLeft="3" scaleGridTop="5.5" scaleGridRight="97" 
scaleGridBottom="41">
+       <!-- Transparent rect used to center the bar -->
+       <Rect x="0" y="0" width="100" height="4">
+               <fill>
+                       <SolidColor color="#000000" alpha="0"/>
+               </fill>
+       </Rect>
+       <!-- Top highlight -->
+       <Rect x="5" y="5" width="95" height="1.5">
+       <fill>
+               <SolidColor color="#33afdd"/>
+        </fill>
+       </Rect>
+       <!-- Bottom highlight -->
+       <Rect x="5" y="40" width="95" height="1.5">
+       <fill>
+               <SolidColor color="#33afdd"/>
+        </fill>
+       </Rect>
+</Graphic>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3fd6027d/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/SpinnerListContainerShadow.fxg
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/SpinnerListContainerShadow.fxg
 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/SpinnerListContainerShadow.fxg
new file mode 100644
index 0000000..41c1955
--- /dev/null
+++ 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/SpinnerListContainerShadow.fxg
@@ -0,0 +1,41 @@
+<?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= "100" 
viewWidth= "100"
+       scaleGridLeft="1" scaleGridTop="1" scaleGridRight="99" 
scaleGridBottom="99">
+       <Rect width="100" height="100">
+               <fill>
+             <LinearGradient rotation="90">
+               <GradientEntry ratio="0" color="#FFFFFF" alpha="1.0"/>
+               <GradientEntry ratio="0.10" color="#FFFFFF" alpha=".7"/>
+               <GradientEntry ratio="0.30" color="#FFFFFF" alpha=".3"/>
+               <GradientEntry ratio="0.40" color="#FFFFFF" alpha=".05"/>
+               <GradientEntry ratio="0.60" color="#FFFFFF" alpha=".05"/>
+               <GradientEntry ratio="0.70" color="#FFFFFF" alpha=".3"/>
+               <GradientEntry ratio="0.90" color="#FFFFFF" alpha=".7"/>
+               <GradientEntry ratio="1" color="#FFFFFF" alpha="1.0"/>
+             </LinearGradient>
+           </fill>
+       </Rect>
+</Graphic>
+

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3fd6027d/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/ToggleSwitchBackground.fxg
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/ToggleSwitchBackground.fxg
 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/ToggleSwitchBackground.fxg
new file mode 100644
index 0000000..b264573
--- /dev/null
+++ 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/ToggleSwitchBackground.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";>
+  <Group scaleGridLeft="24.25" scaleGridRight="72.75" scaleGridTop="18" 
scaleGridBottom="6">
+    <Path winding="nonZero" data="M97 24 0 24 0 0 97 0 97 24Z">
+      <fill>
+        <SolidColor color="#D2D3D3"/>
+      </fill>
+    </Path>
+  </Group>
+</Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3fd6027d/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/ToggleSwitchThumb_off.fxg
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/ToggleSwitchThumb_off.fxg
 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/ToggleSwitchThumb_off.fxg
new file mode 100644
index 0000000..8f9d046
--- /dev/null
+++ 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/ToggleSwitchThumb_off.fxg
@@ -0,0 +1,40 @@
+<?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="11.75" scaleGridRight="35.25" scaleGridTop="16.5" 
scaleGridBottom="5.5">
+    <Path winding="nonZero" data="M47 22 0 22 0 0 47 0 47 22Z">
+      <fill>
+        <SolidColor color="#B3B3B3"/>
+      </fill>
+    </Path>
+    <Path winding="nonZero" data="M46 0 46 21 0 21 0 22 47 22 47 0 46 0Z">
+      <fill>
+        <SolidColor color="#AFAFAF"/>
+      </fill>
+    </Path>
+    <Path winding="nonZero" data="M47 1 0 1 0 0 47 0 47 1Z">
+      <fill>
+        <SolidColor color="#DEDEDD"/>
+      </fill>
+    </Path>
+    <Path visible="false" winding="nonZero" data="M0 0 47 0 47 22 0 22 0 0Z"/>
+  </Group>
+</Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3fd6027d/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/ToggleSwitchThumb_on.fxg
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/ToggleSwitchThumb_on.fxg
 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/ToggleSwitchThumb_on.fxg
new file mode 100644
index 0000000..d003f72
--- /dev/null
+++ 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/ToggleSwitchThumb_on.fxg
@@ -0,0 +1,40 @@
+<?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="11.75" scaleGridRight="35.25" scaleGridTop="16.5" 
scaleGridBottom="5.5">
+    <Path winding="nonZero" data="M47 22 0 22 0 0 47 0 47 22Z">
+      <fill>
+        <SolidColor color="#33B5E5"/>
+      </fill>
+    </Path>
+    <Path winding="nonZero" data="M46 0 46 21 0 21 0 22 47 22 47 0 46 0Z">
+      <fill>
+        <SolidColor color="#3399E5"/>
+      </fill>
+    </Path>
+    <Path winding="nonZero" data="M47 1 0 1 0 0 47 0 47 1Z">
+      <fill>
+        <SolidColor color="#FFFFFF"/>
+      </fill>
+    </Path>
+    <Path visible="false" winding="nonZero" data="M0 0 47 0 47 22 0 22 0 0Z"/>
+  </Group>
+</Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3fd6027d/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/fonts/Roboto-Bold.ttf
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/fonts/Roboto-Bold.ttf
 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/fonts/Roboto-Bold.ttf
new file mode 100644
index 0000000..aaf374d
Binary files /dev/null and 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/fonts/Roboto-Bold.ttf
 differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3fd6027d/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/fonts/Roboto-Regular.ttf
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/fonts/Roboto-Regular.ttf
 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/fonts/Roboto-Regular.ttf
new file mode 100644
index 0000000..3e6e2e7
Binary files /dev/null and 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/assets/fonts/Roboto-Regular.ttf
 differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3fd6027d/frameworks/projects/mobiletheme/src/spark/skins/ios7/supportClasses/CalloutArrow.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobiletheme/src/spark/skins/ios7/supportClasses/CalloutArrow.as
 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/supportClasses/CalloutArrow.as
new file mode 100644
index 0000000..c18d457
--- /dev/null
+++ 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/supportClasses/CalloutArrow.as
@@ -0,0 +1,453 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 spark.skins.android4.supportClasses
+{
+import flash.display.BlendMode;
+import flash.display.GradientType;
+import flash.display.Graphics;
+import flash.display.GraphicsPathCommand;
+import flash.display.Sprite;
+
+import mx.core.DPIClassification;
+import mx.core.FlexGlobals;
+import mx.core.IVisualElement;
+import mx.core.UIComponent;
+import mx.core.mx_internal;
+import mx.utils.ColorUtil;
+
+import spark.components.Application;
+import spark.components.ArrowDirection;
+import spark.components.Callout;
+import spark.skins.android4.CalloutSkin;
+import spark.skins.mobile.supportClasses.MobileSkin;
+
+use namespace mx_internal;
+
+/**
+ *  The arrow skin part for CalloutSkin. 
+ *  
+ *  @see spark.skin.mobile.CalloutSkin
+ *  
+ *  @langversion 3.0
+ *  @playerversion AIR 3
+ *  @productversion Flex 4.6
+ */ 
+public class CalloutArrow extends UIComponent
+{
+    public function CalloutArrow()
+    {
+        super();
+        
+        useBackgroundGradient = true;
+        
+        var applicationDPI:Number = 
Application(FlexGlobals.topLevelApplication).applicationDPI;
+        
+        // Copy DPI-specific values from CalloutSkin
+        switch (applicationDPI)
+        {
+                       case DPIClassification.DPI_640:
+                       {
+                               // Note provisional may need changes
+                               gap = 32;
+                               backgroundGradientHeight = 440;
+                               highlightWeight = 4;
+                               
+                               break;
+                       }
+                       case DPIClassification.DPI_480:
+                       {
+                               // Note provisional may need changes
+                               gap = 24;
+                               backgroundGradientHeight = 330;
+                               highlightWeight = 3;
+                               
+                               break;
+                       }
+            case DPIClassification.DPI_320:
+            {
+                gap = 16;
+                backgroundGradientHeight = 220;
+                highlightWeight = 2;
+                
+                break;
+            }
+                       case DPIClassification.DPI_240:
+                       {
+                               gap = 12;
+                               backgroundGradientHeight = 165;
+                               highlightWeight = 1;
+                               
+                               break;
+                       }
+                       case DPIClassification.DPI_120:
+                       {
+                               // Note provisional may need changes
+                               gap = 6;
+                               backgroundGradientHeight = 83;
+                               highlightWeight = 1;
+                               
+                               break;
+                       }
+            default:
+            {
+                // default DPI_160
+                gap = 8;
+                backgroundGradientHeight = 110;
+                highlightWeight = 1;
+                
+                break;
+            }
+        }
+    }
+    
+    /**
+     *  A gap on the frame-adjacent side of the arrow graphic to avoid
+     *  drawing past the CalloutSkin backgroundCornerRadius.
+     * 
+     *  <p>The default implementation matches the gap value with the
+     *  <code>backgroundCornerRadius</code> value in 
<code>CalloutSkin</code>.</p>
+     * 
+     *  @see spark.skins.mobile.CalloutSkin#backgroundCornerRadius
+     *  
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.6
+     */
+    protected var gap:Number;
+    
+    /**
+     *  @copy spark.skins.mobile.CalloutSkin#backgroundGradientHeight
+     */
+    protected var backgroundGradientHeight:Number;
+    
+    /**
+     *  @copy spark.skins.mobile.CalloutSkin#highlightWeight
+     */
+    private var highlightWeight:Number;
+    
+    /**
+     *  @copy spark.skins.mobile.CalloutSkin#useBackgroundGradient
+     */
+    protected var useBackgroundGradient:Boolean;
+    
+    /**
+     *  @copy spark.skins.mobile.CalloutSkin#borderColor
+     */
+    protected var borderColor:Number = -1; // if not set
+
+    /**
+     *  @copy spark.skins.mobile.CalloutSkin#borderThickness
+     */
+    protected var borderThickness:Number = -1 ;      // marker that 
borderThickness was not set  directly
+
+    /**
+     *  @private
+     *  A sibling of the arrow used to erase the drop shadow in CalloutSkin
+     */
+    private var eraseFill:Sprite;
+
+    /* helper private accessors */
+
+    /* returns borderThickness from style if member is -1, or borderThickness. 
 Returns 0 if NaN */
+    private function get actualBorderThickness():Number
+    {
+        return calloutSkin.actualBorderThickness;
+    }
+
+    private function get actualBorderColor():uint
+    {
+        return calloutSkin.actualBorderColor;
+    }
+
+    protected function get calloutSkin():CalloutSkin
+    {
+        return parent as CalloutSkin ;
+    }
+
+    protected function get calloutHostComponent():Callout {
+        return  calloutSkin.hostComponent;
+    }
+    
+    /**
+     * @private
+     */
+
+    override protected function createChildren():void
+    {
+        super.createChildren();
+        
+        // eraseFill has the same position and arrow shape in order to erase
+        // the drop shadow under the arrow when backgroundAlpha < 1
+        eraseFill = new Sprite();
+        eraseFill.blendMode = BlendMode.ERASE;
+        
+        // layer eraseFill below the arrow 
+        parent.addChildAt(eraseFill, parent.getChildIndex(this));
+    }
+    
+    /**
+     * @private
+     */
+    override protected function updateDisplayList(unscaledWidth:Number, 
unscaledHeight:Number):void
+    {
+        super.updateDisplayList(unscaledWidth, unscaledHeight);
+        
+        graphics.clear();
+        eraseFill.graphics.clear();
+        var hostComponent: Callout = calloutHostComponent;
+        var arrowDirection:String = hostComponent.arrowDirection;
+        
+        if (arrowDirection == ArrowDirection.NONE)
+            return;
+        
+        // when drawing the arrow, compensate for cornerRadius via padding
+        var arrowGraphics:Graphics = this.graphics;
+        var eraseGraphics:Graphics = eraseFill.graphics;
+        var arrowWidth:Number = unscaledWidth;
+        var arrowHeight:Number = unscaledHeight;
+        var arrowX:Number = 0;
+        var arrowY:Number = 0;
+        var arrowTipX:Number = 0;
+        var arrowTipY:Number = 0;
+        var arrowEndX:Number = 0;
+        var arrowEndY:Number = 0;
+
+        var borderWeight:Number = actualBorderThickness;
+        var showBorder:Boolean = borderWeight > 0;
+
+        var borderHalf:Number = borderWeight / 2;
+        var isHorizontal:Boolean = false;
+        
+        if ((arrowDirection == ArrowDirection.LEFT) ||
+            (arrowDirection == ArrowDirection.RIGHT))
+        {
+            isHorizontal = true;
+            
+            arrowX = -borderHalf;
+            arrowY = gap;
+            arrowHeight = arrowHeight - (gap * 2);
+            
+            arrowTipX = arrowWidth - borderHalf;
+            arrowTipY = arrowY + (arrowHeight / 2);
+            
+            arrowEndX = arrowX;
+            arrowEndY = arrowY + arrowHeight;
+            
+            // flip coordinates to point left
+            if (arrowDirection == ArrowDirection.LEFT)
+            {
+                arrowX = arrowWidth - arrowX;
+                arrowTipX = arrowWidth - arrowTipX;
+                arrowEndX = arrowWidth - arrowEndX;
+            }
+        }
+        else
+        {
+            arrowX = gap;
+            arrowY = -borderHalf;
+            arrowWidth = arrowWidth - (gap * 2);
+            
+            arrowTipX = arrowX + (arrowWidth / 2);
+            arrowTipY = arrowHeight - borderHalf;
+            
+            arrowEndX = arrowX + arrowWidth;
+            arrowEndY = arrowY;
+            
+            // flip coordinates to point up
+            if (hostComponent.arrowDirection == ArrowDirection.UP)
+            {
+                arrowY = arrowHeight - arrowY;
+                arrowTipY = arrowHeight - arrowTipY;
+                arrowEndY = arrowHeight - arrowEndY;
+            }
+        }
+        
+        var commands:Vector.<int> = new Vector.<int>(3, true);
+        commands[0] = GraphicsPathCommand.MOVE_TO;
+        commands[1] = GraphicsPathCommand.LINE_TO;
+        commands[2] = GraphicsPathCommand.LINE_TO;
+        
+        var coords:Vector.<Number> = new Vector.<Number>(6, true);
+        coords[0] = arrowX;
+        coords[1] = arrowY;
+        coords[2] = arrowTipX
+        coords[3] = arrowTipY;
+        coords[4] = arrowEndX
+        coords[5] = arrowEndY;
+        
+        var backgroundColor:Number = getStyle("backgroundColor");
+        var backgroundAlpha:Number = getStyle("backgroundAlpha");
+        
+        if (useBackgroundGradient)
+        {
+            var backgroundColorTop:Number = 
ColorUtil.adjustBrightness2(backgroundColor, 
+                CalloutSkin.BACKGROUND_GRADIENT_BRIGHTNESS_TOP);
+            var backgroundColorBottom:Number = 
ColorUtil.adjustBrightness2(backgroundColor, 
+                CalloutSkin.BACKGROUND_GRADIENT_BRIGHTNESS_BOTTOM);
+            
+            // translate the gradient based on the arrow position
+            MobileSkin.colorMatrix.createGradientBox(unscaledWidth, 
+                backgroundGradientHeight, Math.PI / 2, 0, -getLayoutBoundsY());
+            
+            arrowGraphics.beginGradientFill(GradientType.LINEAR,
+                [backgroundColorTop, backgroundColorBottom],
+                [backgroundAlpha, backgroundAlpha],
+                [0, 255],
+                MobileSkin.colorMatrix);
+        }
+        else
+        {
+            arrowGraphics.beginFill(backgroundColor, backgroundAlpha);
+        }
+        
+        // cover the adjacent border from the callout frame
+        if (showBorder)
+        {
+            var coverX:Number = 0;
+            var coverY:Number = 0;
+            var coverWidth:Number = 0;
+            var coverHeight:Number = 0;
+            
+            switch (arrowDirection)
+            {
+                case ArrowDirection.UP:
+                {
+                    coverX = arrowX;
+                    coverY = arrowY;
+                    coverWidth = arrowWidth;
+                    coverHeight = borderWeight;
+                    break;
+                }
+                case ArrowDirection.DOWN:
+                {
+                    coverX = arrowX;
+                    coverY = -borderWeight;
+                    coverWidth = arrowWidth;
+                    coverHeight = borderWeight;
+                    break;
+                }
+                case ArrowDirection.LEFT:
+                {
+                    coverX = arrowX;
+                    coverY = arrowY;
+                    coverWidth = borderWeight;
+                    coverHeight = arrowHeight;
+                    break;
+                }
+                case ArrowDirection.RIGHT:
+                {
+                    coverX = -borderWeight;
+                    coverY = arrowY;
+                    coverWidth = borderWeight;
+                    coverHeight = arrowHeight;
+                    break;
+                }
+            }
+            
+            arrowGraphics.drawRect(coverX, coverY, coverWidth, coverHeight);
+        }
+        
+        // erase the drop shadow from the CalloutSkin
+        if (backgroundAlpha < 1)
+        {
+            // move eraseFill to the same position as the arrow
+            eraseFill.x = getLayoutBoundsX()
+            eraseFill.y = getLayoutBoundsY();
+            
+            // draw the arrow shape
+            eraseGraphics.beginFill(0, 1);
+            eraseGraphics.drawPath(commands, coords);
+            eraseGraphics.endFill();
+        }
+        
+        // draw arrow path
+        if (showBorder)
+            arrowGraphics.lineStyle(borderWeight, actualBorderColor, 1, true);
+        
+        arrowGraphics.drawPath(commands, coords);
+        arrowGraphics.endFill();
+        
+        // adjust the highlight position to the origin of the callout
+        var isArrowUp:Boolean = (arrowDirection == ArrowDirection.UP);
+        var offsetY:Number = (isArrowUp) ? unscaledHeight : 
-getLayoutBoundsY();
+        
+        // highlight starts after the backgroundCornerRadius
+        var highlightX:Number = gap - getLayoutBoundsX();
+        
+        // highlight Y position is based on the stroke weight 
+        var highlightOffset:Number = (highlightWeight * 1.5);
+        var highlightY:Number = highlightOffset + offsetY;
+        
+        // highlight width spans the callout width minus the corner radius
+        var highlightWidth:Number = 
IVisualElement(calloutSkin).getLayoutBoundsWidth() - (gap * 2);
+        
+        if (isHorizontal)
+        {
+            highlightWidth -= arrowWidth;
+            
+            if (arrowDirection == ArrowDirection.LEFT)
+                highlightX += arrowWidth;
+        }
+        
+        // highlight on the top edge is drawn in the arrow only in the UP 
direction
+        if (useBackgroundGradient)
+        {
+            if (isArrowUp)
+            {
+                // highlight follows the top edge, including the arrow
+                var rightWidth:Number = highlightWidth - arrowWidth;
+                
+                // highlight style
+                arrowGraphics.lineStyle(highlightWeight, 0xFFFFFF, 0.2 * 
backgroundAlpha);
+                
+                // in the arrow coordinate space, the highlightX must be less 
than 0
+                if (highlightX < 0)
+                {
+                    arrowGraphics.moveTo(highlightX, highlightY);
+                    arrowGraphics.lineTo(arrowX, highlightY);
+                    
+                    // compute the remaining highlight
+                    rightWidth -= (arrowX - highlightX);
+                }
+                
+                // arrow highlight (adjust Y downward)
+                coords[1] = arrowY + highlightOffset;
+                coords[3] = arrowTipY + highlightOffset;
+                coords[5] = arrowEndY + highlightOffset;
+                arrowGraphics.drawPath(commands, coords);
+                
+                // right side
+                if (rightWidth > 0)
+                {
+                    arrowGraphics.moveTo(arrowEndX, highlightY);
+                    arrowGraphics.lineTo(arrowEndX + rightWidth, highlightY);
+                }
+            }
+            else
+            {
+                // straight line across the top
+                arrowGraphics.lineStyle(highlightWeight, 0xFFFFFF, 0.2 * 
backgroundAlpha);
+                arrowGraphics.moveTo(highlightX, highlightY);
+                arrowGraphics.lineTo(highlightX + highlightWidth, highlightY);
+            }
+        }
+    }
+}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3fd6027d/frameworks/projects/mobiletheme/src/spark/skins/ios7/supportClasses/StageTextSkinBase.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobiletheme/src/spark/skins/ios7/supportClasses/StageTextSkinBase.as
 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/supportClasses/StageTextSkinBase.as
new file mode 100644
index 0000000..3dc1966
--- /dev/null
+++ 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/supportClasses/StageTextSkinBase.as
@@ -0,0 +1,402 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 spark.skins.android4.supportClasses
+{
+import flash.display.DisplayObject;
+import flash.events.FocusEvent;
+
+import mx.core.DPIClassification;
+import mx.core.mx_internal;
+
+import spark.components.supportClasses.IStyleableEditableText;
+import spark.components.supportClasses.SkinnableTextBase;
+import spark.components.supportClasses.StyleableStageText;
+import spark.components.supportClasses.StyleableTextField;
+import spark.core.IDisplayText;
+import spark.skins.mobile.supportClasses.MobileSkin;
+
+use namespace mx_internal;
+
+/**
+ *  ActionScript-based skin for text input controls in mobile applications. 
+ * 
+ *  @langversion 3.0
+ *  @playerversion AIR 3.0
+ *  @productversion Flex 4.6
+ */
+public class StageTextSkinBase extends MobileSkin
+{
+    
//--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    
//--------------------------------------------------------------------------
+    
+    /**
+     *  Constructor.
+     * 
+     *  @langversion 3.0
+     *  @playerversion AIR 3.0 
+     *  @productversion Flex 4.6
+     * 
+     */
+    public function StageTextSkinBase()
+    {
+        super();
+               
+        switch (applicationDPI)
+        {
+                       case DPIClassification.DPI_640:
+                       {       
+                               measuredDefaultWidth = 1200;
+                               measuredDefaultHeight = 132;
+                               layoutBorderSize = 4;
+                               flatheight = 9;
+                               break;
+                       }
+                       case DPIClassification.DPI_480:
+                       {                               
+                               measuredDefaultWidth = 880;
+                               measuredDefaultHeight = 100;    
+                               layoutBorderSize = 3;
+                               flatheight = 7;
+                               break;
+                       }
+            case DPIClassification.DPI_320:
+            {               
+                measuredDefaultWidth = 600;
+                measuredDefaultHeight = 66;   
+                               layoutBorderSize = 2;
+                               flatheight = 6;
+                break;
+            }
+                       case DPIClassification.DPI_240:
+                       {                               
+                               measuredDefaultWidth = 440;
+                               measuredDefaultHeight = 50;                     
+                               layoutBorderSize = 2;
+                               flatheight = 5;
+                               break;
+                       }
+                       case DPIClassification.DPI_120:
+                       {                               
+                               measuredDefaultWidth = 220;
+                               measuredDefaultHeight = 25;             
+                               layoutBorderSize = 1;
+                               flatheight = 2;
+                               break;
+                       }
+            default:
+                       {
+                measuredDefaultWidth = 300;
+                measuredDefaultHeight = 33;
+                               layoutBorderSize = 1;
+                               flatheight = 3; 
+                break;
+            }
+                               
+        }
+               addEventListener(FocusEvent.FOCUS_IN, focusChangeHandler);
+               addEventListener(FocusEvent.FOCUS_OUT, focusChangeHandler);
+    }
+    
+    
//--------------------------------------------------------------------------
+    //
+    //  Graphics variables
+    //
+    
//--------------------------------------------------------------------------
+
+
+    
//--------------------------------------------------------------------------
+    //
+    //  Layout variables
+    //
+    
//-------------------------------------------------------------------------- 
+    
+    /**
+     *  Defines the border's thickness.
+     * 
+     *  @langversion 3.0
+     *  @playerversion AIR 3.0
+     *  @productversion Flex 4.6
+     */
+    protected var layoutBorderSize:uint;
+       
+       protected var flatheight:uint;
+    
+    
//--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    
//--------------------------------------------------------------------------
+       
+       protected var isFocused:Boolean = false;
+       
+    /**
+     *  @private
+     * 
+     *  Instance of the border graphics.
+     */
+    protected var border:DisplayObject;
+    
+    private var borderVisibleChanged:Boolean = false;
+
+    /**
+     *  @private
+     * 
+     *  Multiline flag.
+     */
+    protected var multiline:Boolean = false;
+    
+    
//--------------------------------------------------------------------------
+    //
+    //  Skin parts
+    //
+    
//--------------------------------------------------------------------------
+    
+    /**
+     *  textDisplay skin part.
+     * 
+     *  @langversion 3.0
+     *  @playerversion AIR 3.0
+     *  @productversion Flex 4.6
+     */
+    public var textDisplay:IStyleableEditableText; 
+       
+    [Bindable]
+    /**
+     *  Bindable promptDisplay skin part. Bindings fire when promptDisplay is
+     *  removed and added for proper updating by the SkinnableTextBase.
+     * 
+     *  @langversion 3.0
+     *  @playerversion AIR 3.0
+     *  @productversion Flex 4.6
+     */
+    public var promptDisplay:IDisplayText;
+
+    
//--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    
//--------------------------------------------------------------------------
+    
+    /**
+     *  @private
+     */
+    override protected function createChildren():void
+    {
+        super.createChildren();
+        
+        if (!textDisplay)
+        {
+            textDisplay = createTextDisplay();
+            textDisplay.editable = true;
+            textDisplay.styleName = this;
+            this.addChild(DisplayObject(textDisplay));
+        }
+    }
+
+    /**  Could be overridden by subclasses
+     *
+     * @return   instance of  IStyleableEditableText
+     */
+    protected function createTextDisplay():IStyleableEditableText
+       {
+        return   new StyleableStageText(multiline);
+    }
+
+    /**
+     *  @private
+     */
+    override protected function drawBackground(unscaledWidth:Number, 
unscaledHeight:Number):void
+    {
+        super.drawBackground(unscaledWidth, unscaledHeight);
+        
+        var contentBackgroundColor:uint = getStyle("contentBackgroundColor");
+        var contentBackgroundAlpha:Number = 
getStyle("contentBackgroundAlpha");        
+               //change border color and thickness when in focus
+               var borderColor:uint = isFocused ? getStyle("focusColor") : 
getStyle("borderColor");
+               var selectWidth:uint = isFocused ? layoutBorderSize + 1 : 
layoutBorderSize;
+        if (isNaN(contentBackgroundAlpha))
+               {
+            contentBackgroundAlpha = 1;
+               }        
+               var halfGap:int = flatheight * 2;
+               // change the border type
+               if (getStyle("contentBackgroundBorder") == "flat")
+               {               
+                       //background
+                       graphics.beginFill(contentBackgroundColor, 
contentBackgroundAlpha);
+                       graphics.drawRect(0, 0, unscaledWidth, unscaledHeight - 
flatheight);
+                       graphics.endFill();
+                       //begin flat border
+                       graphics.beginFill(borderColor, 1);
+                       //left half border
+                       graphics.drawRect(0, unscaledHeight - halfGap, 
selectWidth, flatheight );
+                       //bottom border
+                       graphics.drawRect(0, unscaledHeight - flatheight, 
unscaledWidth, selectWidth);
+                       //right border
+                       graphics.drawRect(unscaledWidth - selectWidth, 
unscaledHeight - halfGap, selectWidth, flatheight);
+                       graphics.endFill();
+               }
+               else if (getStyle("contentBackgroundBorder") == "rectangle")
+               {
+                       var borderWidth:uint = layoutBorderSize * 2;
+                       //rectangle border and background
+                       graphics.lineStyle(selectWidth, borderColor, 1);
+                       graphics.beginFill(contentBackgroundColor, 
contentBackgroundAlpha);
+                       graphics.drawRect(layoutBorderSize, layoutBorderSize, 
unscaledWidth - borderWidth, unscaledHeight - borderWidth);
+                       graphics.endFill();
+               }
+    }
+    
+    /**
+     *  @private
+     */
+    override public function styleChanged(styleProp:String):void
+    {
+        var allStyles:Boolean = !styleProp || styleProp == "styleName";
+        
+        if (allStyles || styleProp == "borderVisible")
+        {
+            borderVisibleChanged = true;
+            invalidateProperties();
+        }
+        
+        if (allStyles || styleProp.indexOf("padding") == 0)
+        {
+            invalidateDisplayList();
+        }       
+        super.styleChanged(styleProp);
+    }
+       
+    /**
+     *  @private
+     */
+    override protected function commitCurrentState():void
+    {
+        super.commitCurrentState();
+        
+        alpha = currentState.indexOf("disabled") == -1 ? 1 : 0.5;
+        
+        var showPrompt:Boolean = currentState.indexOf("WithPrompt") != -1;
+
+        if (showPrompt && !promptDisplay)
+        {
+            promptDisplay = createPromptDisplay();
+            promptDisplay.addEventListener(FocusEvent.FOCUS_IN, 
promptDisplay_focusInHandler);
+        }
+        else if (!showPrompt && promptDisplay)
+        {
+            promptDisplay.removeEventListener(FocusEvent.FOCUS_IN, 
promptDisplay_focusInHandler);
+            removeChild(promptDisplay as DisplayObject);
+            promptDisplay = null;
+        }
+               super.commitCurrentState();
+               
+        invalidateDisplayList();
+    }
+    
+    
//--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    
//--------------------------------------------------------------------------
+    
+    /**
+     *  @private
+     *  Create a control appropriate for displaying the prompt text in a mobile
+     *  input field.
+     */
+    protected function createPromptDisplay():IDisplayText
+    {
+        var prompt:StyleableTextField = 
StyleableTextField(createInFontContext(StyleableTextField));
+        prompt.styleName = this;
+        prompt.editable = false;
+        prompt.mouseEnabled = false;
+        prompt.useTightTextBounds = false;   
+        // StageText objects appear in their own layer on top of the display
+        // list. So, even though this prompt may be created after the StageText
+        // for textDisplay, textDisplay will still be on top.
+        addChild(prompt);
+        
+        return prompt;
+    }
+    
+    /**
+     *  @private
+     *  Utility function used by subclasses' measure functions to measure their
+     *  text host components.
+     */
+    protected function 
measureTextComponent(hostComponent:SkinnableTextBase):void
+    {
+        var paddingLeft:Number = getStyle("paddingLeft");
+        var paddingRight:Number = getStyle("paddingRight");
+        var paddingTop:Number = getStyle("paddingTop");
+        var paddingBottom:Number = getStyle("paddingBottom");
+        var textHeight:Number = getStyle("fontSize");
+        
+        if (textDisplay)
+               {
+            textHeight = getElementPreferredHeight(textDisplay);
+               }
+        // width is based on maxChars (if set)
+        if (hostComponent && hostComponent.maxChars)
+        {
+            // Grab the fontSize and subtract 2 as the pixel value for each 
character.
+            // This is just an approximation, but it appears to be a 
reasonable one
+            // for most input and most font.
+            var characterWidth:int = Math.max(1, (textHeight - 2));
+            measuredWidth =  (characterWidth * hostComponent.maxChars) + 
paddingLeft + paddingRight;
+        }
+        
+        measuredHeight = paddingTop + textHeight + paddingBottom;
+    }
+    
+    
//--------------------------------------------------------------------------
+    //
+    //  Event handlers
+    //
+    
//--------------------------------------------------------------------------
+       
+       /**
+        *  Listen to see if the component gains focus then change the style to 
selected
+        */     
+       private function focusChangeHandler(event:FocusEvent):void
+       {
+               isFocused = event.type == FocusEvent.FOCUS_IN;
+               invalidateDisplayList();                
+       }
+       
+    /**
+     *  If the prompt is focused, we need to move focus to the textDisplay
+     *  StageText. This needs to happen outside of the process of setting focus
+     *  to the prompt, so we use callLater to do that.
+     */
+    private function focusTextDisplay():void
+    {
+        textDisplay.setFocus();
+    }
+    
+    private function promptDisplay_focusInHandler(event:FocusEvent):void
+    {
+        callLater(focusTextDisplay);
+    }
+}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3fd6027d/frameworks/projects/mobiletheme/src/spark/skins/ios7/supportClasses/TextSkinBase.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobiletheme/src/spark/skins/ios7/supportClasses/TextSkinBase.as
 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/supportClasses/TextSkinBase.as
new file mode 100644
index 0000000..31bf7ea
--- /dev/null
+++ 
b/frameworks/projects/mobiletheme/src/spark/skins/ios7/supportClasses/TextSkinBase.as
@@ -0,0 +1,213 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 spark.skins.android4.supportClasses
+{
+       
+       import flash.display.DisplayObject;
+       
+       import mx.core.mx_internal;
+       
+       import spark.components.supportClasses.StyleableTextField;
+       import spark.skins.mobile.supportClasses.MobileSkin;
+       
+       use namespace mx_internal;
+       
+       /**
+        *  ActionScript-based skin for text input controls in mobile 
applications that
+        *  uses a StyleableTextField class for the text display. 
+        * 
+        *  @see spark.components.supportClasses.StyleableTextField
+        * 
+        *  @langversion 3.0
+        *  @playerversion Flash 10
+        *  @playerversion AIR 2.5 
+        *  @productversion Flex 4.5
+        */
+       public class TextSkinBase extends MobileSkin 
+       {
+               
//--------------------------------------------------------------------------
+               //
+               //  Constructor
+               //
+               
//--------------------------------------------------------------------------
+               /**
+                *  Constructor.
+                * 
+                *  @langversion 3.0
+                *  @playerversion Flash 10
+                *  @playerversion AIR 2.5 
+                *  @productversion Flex 4.5
+                * 
+                */
+               public function TextSkinBase()
+               {
+                       super();
+               }
+               
+               
//--------------------------------------------------------------------------
+               //
+               //  Graphics variables
+               //
+               
//--------------------------------------------------------------------------
+               
+               /**
+                *  Defines the border.
+                * 
+                *  @langversion 3.0
+                *  @playerversion Flash 10
+                *  @playerversion AIR 2.5 
+                *  @productversion Flex 4.5
+                */  
+               
+               
//--------------------------------------------------------------------------
+               //
+               //  Layout variables
+               //
+               
//--------------------------------------------------------------------------
+               
+               /**
+                *  Defines the corner radius.
+                * 
+                *  @langversion 3.0
+                *  @playerversion Flash 10
+                *  @playerversion AIR 2.5 
+                *  @productversion Flex 4.5
+                */  
+               
+               protected var layoutBorderSize:uint;
+               
+               
//--------------------------------------------------------------------------
+               //
+               //  Variables
+               //
+               
//--------------------------------------------------------------------------
+               
+               /**
+                *  @private
+                * 
+                *  Instance of the border graphics.
+                */
+               protected var border:DisplayObject;
+               
+               private var borderVisibleChanged:Boolean = false;
+               
+               
//--------------------------------------------------------------------------
+               //
+               //  Skin parts
+               //
+               
//--------------------------------------------------------------------------
+               
+               /**
+                *  textDisplay skin part.
+                */
+               public var textDisplay:StyleableTextField;
+               
+               [Bindable]
+               /**
+                *  Bindable promptDisplay skin part. Bindings fire when 
promptDisplay is
+                *  removed and added for proper updating by the 
SkinnableTextBase.
+                */
+               public var promptDisplay:StyleableTextField;
+               
+               
//--------------------------------------------------------------------------
+               //
+               //  Overridden methods
+               //
+               
//--------------------------------------------------------------------------
+               
+               /**
+                *  @private
+                */
+               override protected function createChildren():void
+               {
+                       super.createChildren();
+                       
+                       if (!textDisplay)
+                       {
+                               textDisplay = 
StyleableTextField(createInFontContext(StyleableTextField));
+                               textDisplay.styleName = this;
+                               textDisplay.editable = true;
+                               textDisplay.useTightTextBounds = false;
+                               addChild(textDisplay);
+                       }
+               }
+               
+               /**
+                *  @private 
+                */ 
+               protected function createPromptDisplay():StyleableTextField
+               {
+                       var prompt:StyleableTextField = 
StyleableTextField(createInFontContext(StyleableTextField));
+                       prompt.styleName = this;
+                       prompt.editable = false;
+                       prompt.mouseEnabled = false;
+                       prompt.useTightTextBounds = false;
+                       prompt.focusEnabled = false;
+                       return prompt;
+               }
+       
+               /**
+                *  @private
+                */
+
+               override public function styleChanged(styleProp:String):void
+               {
+                       var allStyles:Boolean = !styleProp || styleProp == 
"styleName";
+                       
+                       if (allStyles || styleProp == "borderVisible")
+                       {
+                               borderVisibleChanged = true;
+                               invalidateProperties();
+                       }
+                       
+                       if (allStyles || styleProp.indexOf("padding") == 0)
+                       {
+                               invalidateDisplayList();
+                       }
+                       
+                       super.styleChanged(styleProp);
+               }
+               
+               /**
+                *  @private
+                */
+               override protected function commitCurrentState():void
+               {
+                       super.commitCurrentState();
+                       
+                       alpha = currentState.indexOf("disabled") == -1 ? 1 : 
0.5;
+                       
+                       var showPrompt:Boolean = 
currentState.indexOf("WithPrompt") >= 0;
+                       
+                       if (showPrompt && !promptDisplay)
+                       {
+                               promptDisplay = createPromptDisplay();
+                               addChild(promptDisplay);
+                       }
+                       else if (!showPrompt && promptDisplay)
+                       {
+                               removeChild(promptDisplay);
+                               promptDisplay = null;
+                       }
+                       
+                       invalidateDisplayList();
+               }   
+       }
+}
\ No newline at end of file

Reply via email to