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