You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ma...@apache.org on 2013/10/11 00:42:16 UTC
git commit: [flex-sdk] [refs/heads/develop] - - changed mobile
CalloutSkin and CalloutArrow to keep backward compatibility: - if calloutSkin
is subclassed,
and borderThickness & borderColor are overridden => use these values -
otherwise, use matching
Updated Branches:
refs/heads/develop bde3a3d3c -> 626c45e2b
- changed mobile CalloutSkin and CalloutArrow to keep backward compatibility:
- if calloutSkin is subclassed, and borderThickness & borderColor are overridden => use these values
- otherwise, use matching css styles
- reverted mustella CalloutSkin test to use the old behavior (overridden values)
Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/626c45e2
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/626c45e2
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/626c45e2
Branch: refs/heads/develop
Commit: 626c45e2b350a63bc8cf83d8a8de9f19635eebaf
Parents: bde3a3d
Author: mamsellem <ma...@systar.com>
Authored: Fri Oct 11 00:41:51 2013 +0200
Committer: mamsellem <ma...@systar.com>
Committed: Fri Oct 11 00:41:51 2013 +0200
----------------------------------------------------------------------
.../mobiletheme/src/MobileThemeClasses.as | 3 +-
.../src/spark/skins/mobile/CalloutSkin.as | 38 +++++++++++++------
.../skins/mobile/supportClasses/CalloutArrow.as | 39 +++++++++++++++-----
.../swfs/skins/MyCalloutSkin.as | 37 ++++++++++---------
4 files changed, 77 insertions(+), 40 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/626c45e2/frameworks/projects/mobiletheme/src/MobileThemeClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobiletheme/src/MobileThemeClasses.as b/frameworks/projects/mobiletheme/src/MobileThemeClasses.as
index d7cacfc..3ff2ebe 100644
--- a/frameworks/projects/mobiletheme/src/MobileThemeClasses.as
+++ b/frameworks/projects/mobiletheme/src/MobileThemeClasses.as
@@ -35,7 +35,8 @@ import spark.skins.mobile.BeveledBackButtonSkin; BeveledBackButtonSkin;
import spark.skins.mobile.ButtonBarSkin; spark.skins.mobile.ButtonBarSkin;
import spark.skins.mobile.ButtonSkin; spark.skins.mobile.ButtonSkin;
import spark.skins.mobile.CalloutSkin; spark.skins.mobile.CalloutSkin;
-import spark.skins.mobile.CalloutActionBarSkin; spark.skins.mobile.CalloutActionBarSkin;
+ import spark.skins.mobile.supportClasses.CalloutArrow; spark.skins.mobile.supportClasses.CalloutArrow;
+ import spark.skins.mobile.CalloutActionBarSkin; spark.skins.mobile.CalloutActionBarSkin;
import spark.skins.mobile.CalloutViewNavigatorSkin; spark.skins.mobile.CalloutViewNavigatorSkin;
import spark.skins.mobile.CheckBoxSkin; spark.skins.mobile.CheckBoxSkin;
import spark.skins.mobile.DefaultBeveledActionButtonSkin; spark.skins.mobile.DefaultBeveledActionButtonSkin;
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/626c45e2/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutSkin.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutSkin.as b/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutSkin.as
index 1a6df7d..b43d48d 100644
--- a/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutSkin.as
+++ b/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutSkin.as
@@ -279,7 +279,7 @@ public class CalloutSkin extends MobileSkin
* @playerversion AIR 3
* @productversion Flex 4.6
*/
- protected var borderColor:Number = 0;
+ protected var borderColor:Number = -1; // not set
/**
* Thickness of the border stroke around the <code>backgroundColor</code>
@@ -289,7 +289,7 @@ public class CalloutSkin extends MobileSkin
* @playerversion AIR 3
* @productversion Flex 4.6
*/
- protected var borderThickness:Number = NaN;
+ protected var borderThickness:Number = -1 ; // marker that borderThickness was not set directly
/**
* Width of the arrow in vertical directions. This property also controls
@@ -359,7 +359,21 @@ public class CalloutSkin extends MobileSkin
* @copy spark.components.Callout#arrow
*/
public var arrow:UIComponent;
-
+
+ /* helper private accessors */
+
+ /* returns borderThickness from style if member is -1, or borderThickness. Returns 0 if NaN */
+ mx_internal function get actualBorderThickness():Number
+ {
+ var border: Number = borderThickness != -1 ? borderThickness : getStyle('borderThickness');
+ return isNaN(border)? 0: border;
+ }
+
+ mx_internal function get actualBorderColor():uint
+ {
+ return borderColor != -1 ? borderColor: getStyle('borderColor');
+ }
+
//--------------------------------------------------------------------------
//
// Overridden methods
@@ -381,7 +395,7 @@ public class CalloutSkin extends MobileSkin
dropShadow.blurX = dropShadowBlurX;
dropShadow.blurY = dropShadowBlurY;
dropShadow.tlRadius = dropShadow.trRadius = dropShadow.blRadius =
- dropShadow.brRadius = backgroundCornerRadius;
+ dropShadow.brRadius = backgroundCornerRadius ;
dropShadow.mouseEnabled = false;
dropShadow.alpha = dropShadowAlpha;
addChild(dropShadow);
@@ -408,8 +422,6 @@ public class CalloutSkin extends MobileSkin
addChild(contentGroup);
}
- borderThickness = getStyle("borderThickness");
- borderColor = getStyle("borderColor");
}
@@ -446,7 +458,8 @@ public class CalloutSkin extends MobileSkin
invalidateSize();
invalidateDisplayList();
}
-
+
+
/**
* @private
*/
@@ -454,7 +467,7 @@ public class CalloutSkin extends MobileSkin
{
super.measure();
- var borderWeight:Number = isNaN(borderThickness) ? 0 : borderThickness;
+ var borderWeight:Number =actualBorderThickness;
var frameAdjustment:Number = (frameThickness + borderWeight) * 2;
var arrowMeasuredWidth:Number;
@@ -576,8 +589,9 @@ public class CalloutSkin extends MobileSkin
var frameEllipseSize:Number = backgroundCornerRadius * 2;
// account for borderThickness center stroke alignment
- var showBorder:Boolean = !isNaN(borderThickness) || borderThickness > 0 ;
- var borderWeight:Number = showBorder ? borderThickness : 0;
+ var borderWeight:Number =actualBorderThickness;
+ var showBorder:Boolean = borderWeight > 0 ;
+
// contentBackgroundGraphic already accounts for the arrow position
// use it's positioning instead of recalculating based on unscaledWidth
@@ -594,7 +608,7 @@ public class CalloutSkin extends MobileSkin
bgFill.clear();
if (showBorder)
- bgFill.lineStyle(borderThickness, borderColor, 1, true);
+ bgFill.lineStyle(borderWeight, actualBorderColor, 1, true);
if (useBackgroundGradient)
{
@@ -742,7 +756,7 @@ public class CalloutSkin extends MobileSkin
}
// Show frameThickness by inset of contentGroup
- var borderWeight:Number = isNaN(borderThickness) ? 0 : borderThickness;
+ var borderWeight:Number = actualBorderThickness;
var contentBackgroundAdjustment:Number = frameThickness + borderWeight;
var contentBackgroundX:Number = frameX + contentBackgroundAdjustment;
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/626c45e2/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/CalloutArrow.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/CalloutArrow.as b/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/CalloutArrow.as
index 553eb21..ea4bcf0 100644
--- a/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/CalloutArrow.as
+++ b/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/CalloutArrow.as
@@ -149,22 +149,45 @@ public class CalloutArrow extends UIComponent
/**
* @copy spark.skins.mobile.CalloutSkin#borderColor
*/
- protected var borderColor:Number;
+ protected var borderColor:Number = -1; // if not set
/**
* @copy spark.skins.mobile.CalloutSkin#borderThickness
*/
- protected var borderThickness:Number = NaN;
+ 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();
@@ -187,9 +210,7 @@ public class CalloutArrow extends UIComponent
graphics.clear();
eraseFill.graphics.clear();
-
- var calloutSkin:CalloutSkin = (parent as CalloutSkin);
- var hostComponent:Callout = calloutSkin.hostComponent;
+ var hostComponent: Callout = calloutHostComponent;
var arrowDirection:String = hostComponent.arrowDirection;
if (arrowDirection == ArrowDirection.NONE)
@@ -207,9 +228,9 @@ public class CalloutArrow extends UIComponent
var arrowEndX:Number = 0;
var arrowEndY:Number = 0;
- var borderThickness:Number = getStyle("borderThickness");
- var showBorder:Boolean = !isNaN(borderThickness) && borderThickness > 0;
- var borderWeight:Number = showBorder ? borderThickness : 0;
+ var borderWeight:Number = actualBorderThickness;
+ var showBorder:Boolean = borderWeight > 0;
+
var borderHalf:Number = borderWeight / 2;
var isHorizontal:Boolean = false;
@@ -357,7 +378,7 @@ public class CalloutArrow extends UIComponent
// draw arrow path
if (showBorder)
- arrowGraphics.lineStyle(borderThickness, getStyle("borderColor"), 1, true);
+ arrowGraphics.lineStyle(borderWeight, actualBorderColor, 1, true);
arrowGraphics.drawPath(commands, coords);
arrowGraphics.endFill();
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/626c45e2/mustella/tests/mobile/SplitViewNavigator/swfs/skins/MyCalloutSkin.as
----------------------------------------------------------------------
diff --git a/mustella/tests/mobile/SplitViewNavigator/swfs/skins/MyCalloutSkin.as b/mustella/tests/mobile/SplitViewNavigator/swfs/skins/MyCalloutSkin.as
index b49e03e..e27a4ba 100644
--- a/mustella/tests/mobile/SplitViewNavigator/swfs/skins/MyCalloutSkin.as
+++ b/mustella/tests/mobile/SplitViewNavigator/swfs/skins/MyCalloutSkin.as
@@ -18,22 +18,23 @@
////////////////////////////////////////////////////////////////////////////////
package skins
{
- import spark.skins.mobile.CalloutSkin;
-
- public class MyCalloutSkin extends CalloutSkin
- {
- public function MyCalloutSkin()
- {
- super();
- contentCornerRadius=20;
- frameThickness=10;
- arrowWidth = 50;
- arrowHeight = 50;
- setStyle('borderThickness' , 10);
- setStyle('borderColor', 0xFF0000);
- dropShadowVisible=true;
- backgroundCornerRadius=30;
-
- }
- }
+
+import spark.skins.mobile.CalloutSkin;
+
+public class MyCalloutSkin extends CalloutSkin
+{
+ public function MyCalloutSkin()
+ {
+ super();
+ contentCornerRadius = 20;
+ frameThickness = 10;
+ arrowWidth = 50;
+ arrowHeight = 50;
+ borderThickness = 10;
+ borderColor = 0xFF0000;
+ dropShadowVisible = true;
+ backgroundCornerRadius = 30;
+
+ }
+}
}
\ No newline at end of file