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 2013/04/24 19:39:45 UTC

[5/5] git commit: [flex-asjs] - support png/gif/jpg skinning of a buton

support png/gif/jpg skinning of a buton


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

Branch: refs/heads/develop
Commit: ab3a320ba2a4fce0ebe968b8712ef81a6b19ee25
Parents: b22f541
Author: Alex Harui <ah...@apache.org>
Authored: Wed Apr 24 10:14:30 2013 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Wed Apr 24 10:14:30 2013 -0700

----------------------------------------------------------------------
 .../html/staticControls/beads/CSSTextButtonBead.as |   53 +++++++++------
 1 files changed, 31 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ab3a320b/frameworks/as/src/org/apache/flex/html/staticControls/beads/CSSTextButtonBead.as
----------------------------------------------------------------------
diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/CSSTextButtonBead.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/CSSTextButtonBead.as
index f3c30da..2992a8a 100644
--- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/CSSTextButtonBead.as
+++ b/frameworks/as/src/org/apache/flex/html/staticControls/beads/CSSTextButtonBead.as
@@ -90,39 +90,48 @@ package org.apache.flex.html.staticControls.beads
 	
 		private function setupSkin(sprite:Sprite, textField:TextField, state:String = null):void
 		{
-			
+			var borderColor:uint;
+			var borderThickness:uint;
+			var borderStyle:String;
+			var borderStyles:Object = ValuesManager.valuesImpl.getValue(_strand, "border", state);
+			if (borderStyles is Array)
+			{
+				borderColor = borderStyles[2];
+				borderStyle = borderStyles[1];
+				borderThickness = borderStyles[0];
+			}
+			var value:Object = ValuesManager.valuesImpl.getValue(_strand, "border-style", state);
+			if (value != null)
+				borderStyle = value as String;
+			value = ValuesManager.valuesImpl.getValue(_strand, "border-color", state);
+			if (value != null)
+				borderColor = value as uint;
+			value = ValuesManager.valuesImpl.getValue(_strand, "border-thickness", state);
+			if (value != null)
+				borderThickness = value as uint;
+			var padding:Object = ValuesManager.valuesImpl.getValue(_strand, "padding", state);
+			var backgroundColor:Object = ValuesManager.valuesImpl.getValue(_strand, "backgroundColor", state);
+			if (borderStyle == "solid")
+			{
+				SolidBorderUtil.drawBorder(sprite.graphics, 
+					0, 0, textField.textWidth + Number(padding) * 2, textField.textHeight + Number(padding) * 2,
+					borderColor, backgroundColor, borderThickness);
+				textField.y = (sprite.height - textField.height) / 2;
+				textField.x = (sprite.width - textField.width) / 2;
+			}			
 			var backgroundImage:Object = ValuesManager.valuesImpl.getValue(_strand, "backgroundImage", state);
 			if (backgroundImage)
 			{
 				var loader:Loader = new Loader();
 				sprite.addChildAt(loader, 0);
-				loader.load(new URLRequest(backgroundImage as String));
+				var url:String = backgroundImage as String;
+				loader.load(new URLRequest(url));
 				loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, function (e:flash.events.Event):void { 
 					textField.y = (sprite.height - textField.height) / 2;
 					textField.x = (sprite.width - textField.width) / 2;
 					updateHitArea();
 				});
 			}
-			else
-			{
-				var borderColor:uint;
-				var borderThickness:uint;
-				var borderStyle:String;
-				var borderStyles:Object = ValuesManager.valuesImpl.getValue(_strand, "border", state);
-				if (borderStyles is Array)
-				{
-					borderColor = borderStyles[2];
-					borderStyle = borderStyles[1];
-					borderThickness = borderStyles[0];
-				}
-				var padding:Object = ValuesManager.valuesImpl.getValue(_strand, "padding", state);
-				var backgroundColor:Object = ValuesManager.valuesImpl.getValue(_strand, "backgroundColor", state);
-				SolidBorderUtil.drawBorder(sprite.graphics, 
-					0, 0, textField.textWidth + Number(padding) * 2, textField.textHeight + Number(padding) * 2,
-					borderColor, backgroundColor, borderThickness);
-				textField.y = (sprite.height - textField.height) / 2;
-				textField.x = (sprite.width - textField.width) / 2;
-			}
 		}
 		
 		private function textChangeHandler(event:org.apache.flex.events.Event):void