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; } }
