REFIX - FLEX-34145 Mobile Theme: TextInput with layoutDirection="rtl" becomes 
mirror on focus out.
Now works also when applicationDPI != runtimeDPI


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

Branch: refs/heads/new_android_skins
Commit: 8138af12be00d9e4669f9f783720952ec241543a
Parents: f46ee85
Author: mamsellem <[email protected]>
Authored: Fri Mar 14 21:33:12 2014 +0100
Committer: mamsellem <[email protected]>
Committed: Fri Mar 14 21:33:12 2014 +0100

----------------------------------------------------------------------
 .../spark/components/supportClasses/ScrollableStageText.as   | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/8138af12/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ScrollableStageText.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ScrollableStageText.as
 
b/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ScrollableStageText.as
index 1e35a50..9822b65 100644
--- 
a/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ScrollableStageText.as
+++ 
b/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ScrollableStageText.as
@@ -1561,9 +1561,13 @@ public class ScrollableStageText extends UIComponent  
implements IStyleableEdita
             }
             if (layoutDirection == LayoutDirection.RTL) {
                 // if mirrored , cancel mirroring for the bitmap, as it's 
already is the right direction (generated by the OS)
+                // we do that by applying a negative scale
+                // but preserve horizontal scaling, if applicationDPI != 
runtimeDPI
                 const mirrorMatrix: Matrix = proxy.transform.matrix;
-                mirrorMatrix.a = -1;
-                mirrorMatrix.tx =  width;
+                if (mirrorMatrix.a > 0) {
+                    mirrorMatrix.a = -mirrorMatrix.a;
+                }
+                mirrorMatrix.tx =  width;    // reapply width in case it 
changed
                 proxy.transform.matrix = mirrorMatrix;
             }
         }

Reply via email to