You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2012/05/03 00:45:08 UTC
svn commit: r1333232 [19/34] - in /incubator/flex/trunk: ./
frameworks/tests/ frameworks/tests/basicTests/
frameworks/tests/basicTests/dmv/ frameworks/tests/basicTests/dmv/scripts/
frameworks/tests/basicTests/dmv/views/ frameworks/tests/basicTests/fxg/...
Added: incubator/flex/trunk/mustella/as3/src/mustella/imageDiff.mxml
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/as3/src/mustella/imageDiff.mxml?rev=1333232&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/as3/src/mustella/imageDiff.mxml (added)
+++ incubator/flex/trunk/mustella/as3/src/mustella/imageDiff.mxml Wed May 2 22:44:38 2012
@@ -0,0 +1,444 @@
+<?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.
+
+-->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" initialize="initLC()" width="800" >
+
+ <mx:Script>
+ <![CDATA[
+ import mx.controls.Label;
+ import mx.core.UIComponent;
+
+ private var results:UIComponent;
+ private var contButton:Button;
+
+
+ private var isConnected:Boolean = false;
+
+ private var connection:LocalConnection;
+ private var commandconnection:LocalConnection;
+
+ private var digits:Array = [ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];
+
+ private function initLC():void
+ {
+ for (var i:int = 0; i < 16; i++)
+ {
+ for (var j:int = 0; j < 16; j++)
+ {
+ byteTable[digits[i] + digits[j]] = i * 16 + j;
+ }
+ }
+ percentWidth = 100;
+ percentHeight = 100;
+
+ connection = new LocalConnection();
+ connection.allowDomain("*");
+ connection.client = this;
+
+ commandconnection = new LocalConnection();
+ commandconnection.allowDomain("*");
+ commandconnection.addEventListener(StatusEvent.STATUS, statusHandler);
+
+ connect();
+ }
+
+ private function connect():void
+ {
+ try
+ {
+ connection.connect("_ImageDiffer");
+ }
+ catch (e:Error)
+ {
+ trace("connection failed");
+ }
+ }
+
+ private function statusHandler(event:Event):void
+ {
+ isConnected=true;
+ }
+
+ private var sbd:BitmapData;
+ private var sba:ByteArray;
+ [Bindable] private var scriptName:String = "";
+ [Bindable] private var testName:String = "";
+ // public function startScreenData(w:int, h:int, length:int):void
+ public function startScreenData(w:int, h:int, length:int, name:String, script:String):void
+ {
+ testName=name;
+ scriptName=script;
+ pbhb.visible = true;
+ pb.maximum = length;
+ pb.setProgress(0, length);
+ sba = new ByteArray();
+ sbd = new BitmapData(w, h);
+ }
+ public function addScreenData(s:String):void
+ {
+ toByteArray(sba, s);
+ pb.setProgress(sba.position, pb.maximum);
+ }
+
+ private var bbd:BitmapData;
+ private var bba:ByteArray;
+ public function startBaseData(w:int, h:int, length:int):void
+ {
+ pb.visible = true;
+ pb.maximum = length;
+ pb.setProgress(0, length);
+ bba = new ByteArray();
+ bbd = new BitmapData(w, h);
+ }
+ public function addBaseData(s:String):void
+ {
+ toByteArray(bba, s);
+ pb.setProgress(bba.position, pb.maximum);
+ }
+
+ public function compareBitmaps():void
+ {
+
+ init();
+ pbhb.visible = false;
+ var bm1:Bitmap = new Bitmap();
+ var bm2:Bitmap = new Bitmap();
+ sba.position = 0;
+ bba.position = 0;
+ sbd.setPixels(sbd.rect, sba);
+ bbd.setPixels(bbd.rect, bba);
+ bm1.bitmapData = sbd;
+ bm2.bitmapData = bbd;
+ image1.load(bm1);
+ image2.load(bm2);
+ image1.scaleX = 1;
+ image1.scaleY = 1;
+ image2.scaleX = 1;
+ image2.scaleY = 1;
+ canvas1.width = sbd.width;
+ canvas1.height = sbd.height;
+ canvas2.width = bbd.width;
+ canvas2.height = bbd.height;
+
+ doCompare(true);
+ }
+
+ private var byteTable:Object = new Object();
+
+ private function toByteArray(ba:ByteArray, s:String):void
+ {
+ var arr:Array = s.split(",");
+
+ var n:int = arr.length;
+ for (var i:int = 0; i < n; i++)
+ {
+ var b:String = arr[i];
+ var byte:int = byteTable[b];
+ ba.writeByte(byte);
+ }
+ }
+
+ public function doCompare(cont:Boolean = false):void
+ {
+
+ var bm1:BitmapData = new BitmapData(image1.content.width, image1.content.height);
+ bm1.draw(image1.content, new Matrix());
+
+ var bm2:BitmapData = new BitmapData(image2.content.width, image2.content.height);
+ bm2.draw(image2.content, new Matrix());
+
+ if (results) {
+ canvas3.removeChild(results);
+ }
+
+ if (contButton)
+ {
+ removeChild(contButton);
+
+ }
+
+ var cmp:Object = bm1.compare(bm2);
+ var label:Label;
+
+ if (cmp == 0)
+ {
+ results = label = new Label();
+ label.text = "Same";
+ label.validateNow();
+ canvas3.addChild(results);
+ canvas3.width = results.width;
+ canvas3.height = results.height;
+ if (cont)
+ {
+ contButton = new Button();
+ contButton.label = "Continue";
+ addChild(contButton);
+ contButton.addEventListener("click", continueHandler);
+ }
+ }
+ else if (cmp == -3)
+ {
+ results = label = new Label();
+ label.text = "Widths are Different: " + image1.content.width + " vs " + image2.content.width;
+ label.validateNow();
+ canvas3.addChild(results);
+ canvas3.width = results.width;
+ canvas3.height = results.height;
+ if (cont)
+ {
+ contButton = new Button();
+ contButton.label = "Continue";
+ addChild(contButton);
+ contButton.addEventListener("click", continueHandler);
+ }
+ }
+ else if (cmp == -4)
+ {
+ results = label = new Label();
+ label.text = "Heights are Different: " + image1.content.height + " vs " + image2.content.height;
+ label.validateNow();
+ canvas3.addChild(results);
+ canvas3.width = results.width;
+ canvas3.height = results.height;
+ if (cont)
+ {
+ contButton = new Button();
+ contButton.label = "Continue";
+ addChild(contButton);
+ contButton.addEventListener("click", continueHandler);
+ }
+ }
+ else
+ {
+ results = new UIComponent();
+ var bm:Bitmap = new Bitmap();
+ results.addChild(bm);
+ bm.bitmapData = BitmapData(cmp);
+ results.width = image1.content.width;
+ results.height = image1.content.height;
+ canvas3.addChild(results);
+ canvas3.width = results.width;
+ canvas3.height = results.height;
+ results.graphics.clear();
+ results.graphics.beginFill(bg.selectedColor);
+ results.graphics.drawRect(0, 0, results.width, results.height);
+ results.graphics.endFill();
+ if (cont)
+ {
+ contButton = new Button();
+ contButton.label = "Continue";
+ addChild(contButton);
+ contButton.addEventListener("click", continueHandler);
+ }
+ }
+
+ }
+
+ private function continueHandler(event:Event):void
+ {
+ if (results)
+ {
+ results.graphics.clear();
+ canvas1.width = 0;
+ canvas1.height = 0;
+ canvas2.width = 0;
+ canvas2.height = 0;
+ canvas3.width = 0;
+ canvas3.height = 0;
+ }
+
+ commandconnection.send("_ImageDifferCommands", "keepGoing");
+ }
+
+ private function bgChanged():void
+ {
+ if (results)
+ {
+ results.graphics.clear();
+ results.graphics.beginFill(bg.selectedColor);
+ results.graphics.drawRect(0, 0, results.width, results.height);
+ results.graphics.endFill();
+ }
+ }
+
+ private function getPixel(target:UIComponent, x:int, y:int, lbl:Label, bg:UIComponent):void
+ {
+ var pt:Point = new Point(x, y);
+ var screenBits:BitmapData = new BitmapData(target.width, target.height);
+ screenBits.draw(target, new Matrix(1, 0, 0, 1, 0, 0));
+
+ var clr:uint = screenBits.getPixel(pt.x, pt.y);
+ var s:String = clr.toString(16);
+ while (s.length < 6)
+ {
+ s = "0" + s;
+ }
+ lbl.text = s.toUpperCase();
+ bg.graphics.beginFill(clr);
+ bg.graphics.drawRect(0, 0, bg.width, bg.height);
+ bg.graphics.endFill();
+ }
+
+ private function pixelTracking():void
+ {
+ if (cb.selected)
+ systemManager.addEventListener("mouseMove", pixelTracker);
+ else
+ systemManager.removeEventListener("mouseMove", pixelTracker);
+ }
+
+ private function pixelTracker(event:MouseEvent):void
+ {
+ if (image1.contains(event.target as DisplayObject))
+ {
+ updatePixels(image1, event.localX, event.localY, "1");
+ }
+ else if (image2.contains(event.target as DisplayObject))
+ {
+ updatePixels(image2, event.localX, event.localY, "2");
+ }
+ else if (results && results.contains(event.target as DisplayObject))
+ {
+ updatePixels(results, event.localX, event.localY, "3");
+ }
+ }
+
+ private function updatePixels(target:UIComponent, x:Number, y:Number, ui:String):void
+ {
+ var nsx:NumericStepper = this["img" + ui + "x"];
+ var nsy:NumericStepper = this["img" + ui + "y"];
+ nsx.value = x;
+ nsy.value = y;
+ var lbl:Label = this["pixel" + ui];
+ var bg:UIComponent = this["bg" + ui];
+ getPixel(target, x, y, lbl, bg);
+ }
+
+ private function sizeCanvas1():void
+ {
+ image1.scaleX = 1;
+ image1.scaleY = 1;
+ canvas1.width = image1.content.width;
+ canvas1.height = image1.content.height;
+ }
+
+ private function sizeCanvas2():void
+ {
+ image2.scaleX = 1;
+ image2.scaleY = 1;
+ canvas2.width = image2.content.width;
+ canvas2.height = image2.content.height;
+ }
+
+ private function zoomit():void
+ {
+ image1.scaleY = image1.scaleX = zoom.value;
+ image1.validateNow();
+ image2.scaleY = image2.scaleX = zoom.value;
+ image2.validateNow();
+ results.scaleY = results.scaleX = zoom.value;
+ results.validateNow();
+ if (canvas1.width < 100)
+ {
+ canvas1.width = Math.min(image1.width, 100);
+ canvas1.height= Math.min(image1.height, 100);
+ canvas2.width = Math.min(image2.width, 100);
+ canvas2.height= Math.min(image2.height, 100);
+ canvas3.width = Math.min(results.width, 100);
+ canvas3.height= Math.min(results.height, 100);
+ }
+ }
+ ]]>
+ </mx:Script>
+
+ <mx:HBox id="pbhb" visible="false">
+ <mx:Label text="receiving data..." />
+ <mx:ProgressBar id="pb" mode="manual" width="400" />
+ </mx:HBox>
+ <mx:HBox id="testCaseLabel" visible="true">
+ <mx:Label text="{scriptName} {testName}" />
+ </mx:HBox>
+ <mx:HBox>
+ <mx:VBox>
+ <mx:HBox>
+ <mx:Label text="image 1" />
+ <mx:TextInput id="image1Name" />
+ <mx:Button label="load" click="image1.source=image1Name.text" />
+ </mx:HBox>
+ </mx:VBox>
+ <mx:Spacer width="100" />
+ <mx:VBox>
+ <mx:HBox>
+ <mx:Label text="image 2" />
+ <mx:TextInput id="image2Name" />
+ <mx:Button label="load" click="image2.source=image2Name.text" />
+ </mx:HBox>
+ </mx:VBox>
+ </mx:HBox>
+ <mx:Button label="compare" click="compareBitmaps()" />
+ <mx:HBox>
+ <mx:VBox>
+ <mx:Canvas id="canvas1" minHeight="0" minWidth="0" >
+ <mx:Image id="image1" complete="sizeCanvas1()" />
+ </mx:Canvas>
+ <mx:HBox>
+ <mx:Label text="x" />
+ <mx:NumericStepper id="img1x" width="60" maximum="4000" />
+ <mx:Label text="y" />
+ <mx:NumericStepper id="img1y" width="60" maximum="4000" />
+ <mx:Button label="get pixel" click="getPixel(image1, img1x.value, img1y.value, pixel1, bg1)" />
+ <mx:Label id="pixel1" />
+ <mx:UIComponent id="bg1" width="16" height="16" />
+ </mx:HBox>
+ </mx:VBox>
+ <mx:Spacer width="50" />
+ <mx:VBox>
+ <mx:Canvas id="canvas2" minHeight="0" minWidth="0" >
+ <mx:Image id="image2" complete="sizeCanvas2()" />
+ </mx:Canvas>
+ <mx:HBox>
+ <mx:Label text="x" />
+ <mx:NumericStepper id="img2x" width="60" maximum="4000" />
+ <mx:Label text="y" />
+ <mx:NumericStepper id="img2y" width="60" maximum="4000" />
+ <mx:Button label="get pixel" click="getPixel(image2, img2x.value, img2y.value, pixel2, bg2)" />
+ <mx:Label id="pixel2" />
+ <mx:UIComponent id="bg2" width="16" height="16" />
+ </mx:HBox>
+ </mx:VBox>
+ </mx:HBox>
+ <mx:HBox>
+ <mx:CheckBox id="cb" label="Pixel Reading" click="pixelTracking()" />
+ <mx:Label text="Zoom" />
+ <mx:NumericStepper id="zoom" minimum="1" change="zoomit()" />
+ <mx:Label text="background" />
+ <mx:ColorPicker id="bg" change="bgChanged();" />
+ </mx:HBox>
+ <mx:Canvas id="canvas3" minHeight="0" minWidth="0" />
+ <mx:HBox>
+ <mx:Label text="x" />
+ <mx:NumericStepper id="img3x" width="60" maximum="4000" />
+ <mx:Label text="y" />
+ <mx:NumericStepper id="img3y" width="60" maximum="4000" />
+ <mx:Button label="get pixel" click="getPixel(results, img3x.value, img3y.value, pixel3, bg3)" />
+ <mx:Label id="pixel3" />
+ <mx:UIComponent id="bg3" width="16" height="16" />
+ </mx:HBox>
+
+</mx:Application>
Propchange: incubator/flex/trunk/mustella/as3/src/mustella/imageDiff.mxml
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/flex/trunk/mustella/as3/src/mustella/imageDiff.swf
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/as3/src/mustella/imageDiff.swf?rev=1333232&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/flex/trunk/mustella/as3/src/mustella/imageDiff.swf
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: incubator/flex/trunk/mustella/as3/src/mustella/main.mxml
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/as3/src/mustella/main.mxml?rev=1333232&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/as3/src/mustella/main.mxml (added)
+++ incubator/flex/trunk/mustella/as3/src/mustella/main.mxml Wed May 2 22:44:38 2012
@@ -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.
+
+-->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" >
+
+ <mx:Script>
+ <![CDATA[
+ ]]>
+ </mx:Script>
+
+ <mx:ComboBox id="cb" />
+
+ <mx:DateField id="df" />
+
+ <mx:Button id="btn" />
+
+ <mx:CreditCardValidator id="ccv" />
+
+</mx:Application>
Propchange: incubator/flex/trunk/mustella/as3/src/mustella/main.mxml
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/flex/trunk/mustella/as3/src/mustella/myBitmap.png
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/as3/src/mustella/myBitmap.png?rev=1333232&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/flex/trunk/mustella/as3/src/mustella/myBitmap.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: incubator/flex/trunk/mustella/as3/src/mustella/myTest4.png
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/as3/src/mustella/myTest4.png?rev=1333232&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/flex/trunk/mustella/as3/src/mustella/myTest4.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: incubator/flex/trunk/mustella/as3/src/mustella/skins/pauseButtonSkin.mxml
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/as3/src/mustella/skins/pauseButtonSkin.mxml?rev=1333232&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/as3/src/mustella/skins/pauseButtonSkin.mxml (added)
+++ incubator/flex/trunk/mustella/as3/src/mustella/skins/pauseButtonSkin.mxml Wed May 2 22:44:38 2012
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+
+
+<!--- The default skin class for the Spark Button component.
+
+ @langversion 3.0
+ @playerversion Flash 10
+ @playerversion AIR 1.5
+ @productversion Flex 4
+-->
+<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
+ minWidth="21" minHeight="21"
+ alpha.disabled="0.5" blendMode.disabled="layer">
+
+ <!-- host component -->
+ <fx:Metadata>
+ <![CDATA[
+ /**
+ * @copy spark.skins.spark.ApplicationSkin#hostComponent
+ */
+ [HostComponent("spark.components.Button")]
+ ]]>
+ </fx:Metadata>
+
+ <fx:Script>
+ <![CDATA[
+ /* Define the skin elements that should not be colorized.
+ For button, the graphics are colorized but the label is not. */
+ static private const exclusions:Array = ["labelDisplay"];
+
+ /**
+ * @copy spark.skins.SparkSkin#colorizeExclusions
+ */
+ override public function get colorizeExclusions():Array {return exclusions;}
+
+ [Embed(source="pauseIcon.png")]
+ [Bindable]
+ public var PauseIcon:Class;
+ ]]>
+ </fx:Script>
+
+ <!-- states -->
+ <s:states>
+ <s:State name="up" />
+ <s:State name="over" />
+ <s:State name="down" />
+ <s:State name="disabled" />
+ </s:states>
+
+ <!-- layer 1: shadow -->
+ <s:Rect left="-1" right="-1" top="-1" bottom="-1" radiusX="2" radiusY="2">
+ <s:fill>
+ <s:LinearGradient rotation="90">
+ <s:GradientEntry color="0x000000"
+ color.down="0xFFFFFF"
+ alpha="0.01"
+ alpha.down="0" />
+ <s:GradientEntry color="0x000000"
+ color.down="0xFFFFFF"
+ alpha="0.07"
+ alpha.down="0.5" />
+ </s:LinearGradient>
+ </s:fill>
+ </s:Rect>
+
+ <!-- layer 2: fill -->
+ <s:Rect left="1" right="1" top="1" bottom="1" radiusX="2" radiusY="2">
+ <s:fill>
+ <s:LinearGradient rotation="90">
+ <s:GradientEntry color="0xFFFFFF"
+ color.over="0xBBBDBD"
+ color.down="0xAAAAAA"
+ alpha="0.85" />
+ <s:GradientEntry color="0xD8D8D8"
+ color.over="0x9FA0A1"
+ color.down="0x929496"
+ alpha="0.85" />
+ </s:LinearGradient>
+ </s:fill>
+ </s:Rect>
+
+ <!-- layer 3: fill lowlight -->
+ <s:Rect left="1" right="1" bottom="1" height="9" radiusX="2" radiusY="2">
+ <s:fill>
+ <s:LinearGradient rotation="90">
+ <s:GradientEntry color="0x000000" alpha="0.0099" />
+ <s:GradientEntry color="0x000000" alpha="0.0627" />
+ </s:LinearGradient>
+ </s:fill>
+ </s:Rect>
+
+ <!-- layer 4: fill highlight -->
+ <s:Rect left="1" right="1" top="1" height="9" radiusX="2" radiusY="2">
+ <s:fill>
+ <s:SolidColor color="0xFFFFFF"
+ alpha="0.33"
+ alpha.over="0.22"
+ alpha.down="0.12" />
+ </s:fill>
+ </s:Rect>
+
+ <!-- layer 5: highlight stroke (all states except down) -->
+ <s:Rect left="1" right="1" top="1" bottom="1" radiusX="2" radiusY="2" excludeFrom="down">
+ <s:stroke>
+ <s:LinearGradientStroke rotation="90" weight="1">
+ <s:GradientEntry color="0xFFFFFF" alpha.over="0.22" />
+ <s:GradientEntry color="0xD8D8D8" alpha.over="0.22" />
+ </s:LinearGradientStroke>
+ </s:stroke>
+ </s:Rect>
+
+ <!-- layer 6: highlight stroke (down state only) -->
+ <s:Rect left="1" top="1" bottom="1" width="1" includeIn="down">
+ <s:fill>
+ <s:SolidColor color="0x000000" alpha="0.07" />
+ </s:fill>
+ </s:Rect>
+ <s:Rect right="1" top="1" bottom="1" width="1" includeIn="down">
+ <s:fill>
+ <s:SolidColor color="0x000000" alpha="0.07" />
+ </s:fill>
+ </s:Rect>
+ <s:Rect left="2" top="1" right="2" height="1" includeIn="down">
+ <s:fill>
+ <s:SolidColor color="0x000000" alpha="0.25" />
+ </s:fill>
+ </s:Rect>
+ <s:Rect left="1" top="2" right="1" height="1" includeIn="down">
+ <s:fill>
+ <s:SolidColor color="0x000000" alpha="0.09" />
+ </s:fill>
+ </s:Rect>
+
+ <!-- layer 7: border - put on top of the fill so it doesn't disappear when scale is less than 1 -->
+ <s:Rect left="0" right="0" top="0" bottom="0" width="69" height="20" radiusX="2" radiusY="2">
+ <s:stroke>
+ <s:LinearGradientStroke rotation="90" weight="1">
+ <s:GradientEntry color="0x000000"
+ alpha="0.5625"
+ alpha.down="0.6375" />
+ <s:GradientEntry color="0x000000"
+ alpha="0.75"
+ alpha.down="0.85" />
+ </s:LinearGradientStroke>
+ </s:stroke>
+ </s:Rect>
+
+ <!-- layer 8: text -->
+ <!---
+ @copy spark.components.supportClasses.ButtonBase#labelDisplay
+ -->
+ <s:Group>
+ <s:BitmapImage source="{PauseIcon}" x="3" y="1" />
+ <s:Label x="28" y="5" id="labelDisplay"
+ textAlign="center">
+ </s:Label>
+ </s:Group>
+</s:SparkSkin>
Propchange: incubator/flex/trunk/mustella/as3/src/mustella/skins/pauseButtonSkin.mxml
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/flex/trunk/mustella/as3/src/mustella/skins/pauseIcon.png
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/as3/src/mustella/skins/pauseIcon.png?rev=1333232&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/flex/trunk/mustella/as3/src/mustella/skins/pauseIcon.png
------------------------------------------------------------------------------
svn:executable = *
Propchange: incubator/flex/trunk/mustella/as3/src/mustella/skins/pauseIcon.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: incubator/flex/trunk/mustella/as3/src/mustella/skins/playButtonSkin.mxml
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/as3/src/mustella/skins/playButtonSkin.mxml?rev=1333232&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/as3/src/mustella/skins/playButtonSkin.mxml (added)
+++ incubator/flex/trunk/mustella/as3/src/mustella/skins/playButtonSkin.mxml Wed May 2 22:44:38 2012
@@ -0,0 +1,177 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+
+
+<!--- The default skin class for the Spark Button component.
+
+ @langversion 3.0
+ @playerversion Flash 10
+ @playerversion AIR 1.5
+ @productversion Flex 4
+-->
+<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
+ minWidth="21" minHeight="21"
+ alpha.disabled="0.5" blendMode.disabled="layer">
+
+ <!-- host component -->
+ <fx:Metadata>
+ <![CDATA[
+ /**
+ * @copy spark.skins.spark.ApplicationSkin#hostComponent
+ */
+ [HostComponent("spark.components.Button")]
+ ]]>
+ </fx:Metadata>
+
+ <fx:Script>
+ <![CDATA[
+ /* Define the skin elements that should not be colorized.
+ For button, the graphics are colorized but the label is not. */
+ static private const exclusions:Array = ["labelDisplay"];
+
+ /**
+ * @copy spark.skins.SparkSkin#colorizeExclusions
+ */
+ override public function get colorizeExclusions():Array {return exclusions;}
+
+ [Embed(source="playIcon.png")]
+ [Bindable]
+ public var PlayIcon:Class;
+ ]]>
+ </fx:Script>
+
+ <!-- states -->
+ <s:states>
+ <s:State name="up" />
+ <s:State name="over" />
+ <s:State name="down" />
+ <s:State name="disabled" />
+ </s:states>
+
+ <!-- layer 1: shadow -->
+ <s:Rect left="-1" right="-1" top="-1" bottom="-1" radiusX="2" radiusY="2">
+ <s:fill>
+ <s:LinearGradient rotation="90">
+ <s:GradientEntry color="0x000000"
+ color.down="0xFFFFFF"
+ alpha="0.01"
+ alpha.down="0" />
+ <s:GradientEntry color="0x000000"
+ color.down="0xFFFFFF"
+ alpha="0.07"
+ alpha.down="0.5" />
+ </s:LinearGradient>
+ </s:fill>
+ </s:Rect>
+
+ <!-- layer 2: fill -->
+ <s:Rect left="1" right="1" top="1" bottom="1" radiusX="2" radiusY="2">
+ <s:fill>
+ <s:LinearGradient rotation="90">
+ <s:GradientEntry color="0xFFFFFF"
+ color.over="0xBBBDBD"
+ color.down="0xAAAAAA"
+ alpha="0.85" />
+ <s:GradientEntry color="0xD8D8D8"
+ color.over="0x9FA0A1"
+ color.down="0x929496"
+ alpha="0.85" />
+ </s:LinearGradient>
+ </s:fill>
+ </s:Rect>
+
+ <!-- layer 3: fill lowlight -->
+ <s:Rect left="1" right="1" bottom="1" height="9" radiusX="2" radiusY="2">
+ <s:fill>
+ <s:LinearGradient rotation="90">
+ <s:GradientEntry color="0x000000" alpha="0.0099" />
+ <s:GradientEntry color="0x000000" alpha="0.0627" />
+ </s:LinearGradient>
+ </s:fill>
+ </s:Rect>
+
+ <!-- layer 4: fill highlight -->
+ <s:Rect left="1" right="1" top="1" height="9" radiusX="2" radiusY="2">
+ <s:fill>
+ <s:SolidColor color="0xFFFFFF"
+ alpha="0.33"
+ alpha.over="0.22"
+ alpha.down="0.12" />
+ </s:fill>
+ </s:Rect>
+
+ <!-- layer 5: highlight stroke (all states except down) -->
+ <s:Rect left="1" right="1" top="1" bottom="1" radiusX="2" radiusY="2" excludeFrom="down">
+ <s:stroke>
+ <s:LinearGradientStroke rotation="90" weight="1">
+ <s:GradientEntry color="0xFFFFFF" alpha.over="0.22" />
+ <s:GradientEntry color="0xD8D8D8" alpha.over="0.22" />
+ </s:LinearGradientStroke>
+ </s:stroke>
+ </s:Rect>
+
+ <!-- layer 6: highlight stroke (down state only) -->
+ <s:Rect left="1" top="1" bottom="1" width="1" includeIn="down">
+ <s:fill>
+ <s:SolidColor color="0x000000" alpha="0.07" />
+ </s:fill>
+ </s:Rect>
+ <s:Rect right="1" top="1" bottom="1" width="1" includeIn="down">
+ <s:fill>
+ <s:SolidColor color="0x000000" alpha="0.07" />
+ </s:fill>
+ </s:Rect>
+ <s:Rect left="2" top="1" right="2" height="1" includeIn="down">
+ <s:fill>
+ <s:SolidColor color="0x000000" alpha="0.25" />
+ </s:fill>
+ </s:Rect>
+ <s:Rect left="1" top="2" right="1" height="1" includeIn="down">
+ <s:fill>
+ <s:SolidColor color="0x000000" alpha="0.09" />
+ </s:fill>
+ </s:Rect>
+
+ <!-- layer 7: border - put on top of the fill so it doesn't disappear when scale is less than 1 -->
+ <s:Rect left="0" right="0" top="0" bottom="0" width="69" height="20" radiusX="2" radiusY="2">
+ <s:stroke>
+ <s:LinearGradientStroke rotation="90" weight="1">
+ <s:GradientEntry color="0x000000"
+ alpha="0.5625"
+ alpha.down="0.6375" />
+ <s:GradientEntry color="0x000000"
+ alpha="0.75"
+ alpha.down="0.85" />
+ </s:LinearGradientStroke>
+ </s:stroke>
+ </s:Rect>
+
+ <!-- layer 8: text -->
+ <!---
+ @copy spark.components.supportClasses.ButtonBase#labelDisplay
+ -->
+ <s:Group>
+ <s:BitmapImage source="{PlayIcon}" x="10" y="2" />
+ <s:Label x="35" y="6" id="labelDisplay"
+ textAlign="center">
+ </s:Label>
+ </s:Group>
+</s:SparkSkin>
+
Propchange: incubator/flex/trunk/mustella/as3/src/mustella/skins/playButtonSkin.mxml
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/flex/trunk/mustella/as3/src/mustella/skins/playIcon.png
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/as3/src/mustella/skins/playIcon.png?rev=1333232&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/flex/trunk/mustella/as3/src/mustella/skins/playIcon.png
------------------------------------------------------------------------------
svn:executable = *
Propchange: incubator/flex/trunk/mustella/as3/src/mustella/skins/playIcon.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: incubator/flex/trunk/mustella/as3/src/mustella/skins/stepButtonSkin.mxml
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/as3/src/mustella/skins/stepButtonSkin.mxml?rev=1333232&view=auto
==============================================================================
--- incubator/flex/trunk/mustella/as3/src/mustella/skins/stepButtonSkin.mxml (added)
+++ incubator/flex/trunk/mustella/as3/src/mustella/skins/stepButtonSkin.mxml Wed May 2 22:44:38 2012
@@ -0,0 +1,177 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+
+
+<!--- The default skin class for the Spark Button component.
+
+ @langversion 3.0
+ @playerversion Flash 10
+ @playerversion AIR 1.5
+ @productversion Flex 4
+-->
+<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
+ minWidth="21" minHeight="21"
+ alpha.disabled="0.5" blendMode.disabled="layer">
+
+ <!-- host component -->
+ <fx:Metadata>
+ <![CDATA[
+ /**
+ * @copy spark.skins.spark.ApplicationSkin#hostComponent
+ */
+ [HostComponent("spark.components.Button")]
+ ]]>
+ </fx:Metadata>
+
+ <fx:Script>
+ <![CDATA[
+ /* Define the skin elements that should not be colorized.
+ For button, the graphics are colorized but the label is not. */
+ static private const exclusions:Array = ["labelDisplay"];
+
+ /**
+ * @copy spark.skins.SparkSkin#colorizeExclusions
+ */
+ override public function get colorizeExclusions():Array {return exclusions;}
+
+ [Embed(source="stepIcon.png")]
+ [Bindable]
+ public var StepIcon:Class;
+ ]]>
+ </fx:Script>
+
+ <!-- states -->
+ <s:states>
+ <s:State name="up" />
+ <s:State name="over" />
+ <s:State name="down" />
+ <s:State name="disabled" />
+ </s:states>
+
+ <!-- layer 1: shadow -->
+ <s:Rect left="-1" right="-1" top="-1" bottom="-1" radiusX="2" radiusY="2">
+ <s:fill>
+ <s:LinearGradient rotation="90">
+ <s:GradientEntry color="0x000000"
+ color.down="0xFFFFFF"
+ alpha="0.01"
+ alpha.down="0" />
+ <s:GradientEntry color="0x000000"
+ color.down="0xFFFFFF"
+ alpha="0.07"
+ alpha.down="0.5" />
+ </s:LinearGradient>
+ </s:fill>
+ </s:Rect>
+
+ <!-- layer 2: fill -->
+ <s:Rect left="1" right="1" top="1" bottom="1" radiusX="2" radiusY="2">
+ <s:fill>
+ <s:LinearGradient rotation="90">
+ <s:GradientEntry color="0xFFFFFF"
+ color.over="0xBBBDBD"
+ color.down="0xAAAAAA"
+ alpha="0.85" />
+ <s:GradientEntry color="0xD8D8D8"
+ color.over="0x9FA0A1"
+ color.down="0x929496"
+ alpha="0.85" />
+ </s:LinearGradient>
+ </s:fill>
+ </s:Rect>
+
+ <!-- layer 3: fill lowlight -->
+ <s:Rect left="1" right="1" bottom="1" height="9" radiusX="2" radiusY="2">
+ <s:fill>
+ <s:LinearGradient rotation="90">
+ <s:GradientEntry color="0x000000" alpha="0.0099" />
+ <s:GradientEntry color="0x000000" alpha="0.0627" />
+ </s:LinearGradient>
+ </s:fill>
+ </s:Rect>
+
+ <!-- layer 4: fill highlight -->
+ <s:Rect left="1" right="1" top="1" height="9" radiusX="2" radiusY="2">
+ <s:fill>
+ <s:SolidColor color="0xFFFFFF"
+ alpha="0.33"
+ alpha.over="0.22"
+ alpha.down="0.12" />
+ </s:fill>
+ </s:Rect>
+
+ <!-- layer 5: highlight stroke (all states except down) -->
+ <s:Rect left="1" right="1" top="1" bottom="1" radiusX="2" radiusY="2" excludeFrom="down">
+ <s:stroke>
+ <s:LinearGradientStroke rotation="90" weight="1">
+ <s:GradientEntry color="0xFFFFFF" alpha.over="0.22" />
+ <s:GradientEntry color="0xD8D8D8" alpha.over="0.22" />
+ </s:LinearGradientStroke>
+ </s:stroke>
+ </s:Rect>
+
+ <!-- layer 6: highlight stroke (down state only) -->
+ <s:Rect left="1" top="1" bottom="1" width="1" includeIn="down">
+ <s:fill>
+ <s:SolidColor color="0x000000" alpha="0.07" />
+ </s:fill>
+ </s:Rect>
+ <s:Rect right="1" top="1" bottom="1" width="1" includeIn="down">
+ <s:fill>
+ <s:SolidColor color="0x000000" alpha="0.07" />
+ </s:fill>
+ </s:Rect>
+ <s:Rect left="2" top="1" right="2" height="1" includeIn="down">
+ <s:fill>
+ <s:SolidColor color="0x000000" alpha="0.25" />
+ </s:fill>
+ </s:Rect>
+ <s:Rect left="1" top="2" right="1" height="1" includeIn="down">
+ <s:fill>
+ <s:SolidColor color="0x000000" alpha="0.09" />
+ </s:fill>
+ </s:Rect>
+
+ <!-- layer 7: border - put on top of the fill so it doesn't disappear when scale is less than 1 -->
+ <s:Rect left="0" right="0" top="0" bottom="0" width="69" height="20" radiusX="2" radiusY="2">
+ <s:stroke>
+ <s:LinearGradientStroke rotation="90" weight="1">
+ <s:GradientEntry color="0x000000"
+ alpha="0.5625"
+ alpha.down="0.6375" />
+ <s:GradientEntry color="0x000000"
+ alpha="0.75"
+ alpha.down="0.85" />
+ </s:LinearGradientStroke>
+ </s:stroke>
+ </s:Rect>
+
+ <!-- layer 8: text -->
+ <!---
+ @copy spark.components.supportClasses.ButtonBase#labelDisplay
+ -->
+ <s:Group>
+ <s:BitmapImage source="{StepIcon}" x="10" y="2" />
+ <s:Label x="35" y="6" id="labelDisplay"
+ textAlign="center">
+ </s:Label>
+ </s:Group>
+</s:SparkSkin>
+
Propchange: incubator/flex/trunk/mustella/as3/src/mustella/skins/stepButtonSkin.mxml
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/flex/trunk/mustella/as3/src/mustella/skins/stepIcon.png
URL: http://svn.apache.org/viewvc/incubator/flex/trunk/mustella/as3/src/mustella/skins/stepIcon.png?rev=1333232&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/flex/trunk/mustella/as3/src/mustella/skins/stepIcon.png
------------------------------------------------------------------------------
svn:executable = *
Propchange: incubator/flex/trunk/mustella/as3/src/mustella/skins/stepIcon.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream