This is an automated email from the ASF dual-hosted git repository.

Harbs pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git


The following commit(s) were added to refs/heads/develop by this push:
     new 220691f21b Refactor coordinate conversion methods to use 
viewport-based calculations across various components
220691f21b is described below

commit 220691f21bd1d232143f812b6d3ba167aa02ad73
Author: Harbs <[email protected]>
AuthorDate: Mon Jul 13 12:09:35 2026 +0300

    Refactor coordinate conversion methods to use viewport-based calculations 
across various components
---
 .../royale/org/apache/royale/html/beads/DateFieldView.as   |  4 ++--
 .../org/apache/royale/html/beads/ButtonBarReorderBead.as   |  8 ++++----
 .../html/beads/SensitiveMultiSelectionDropTargetBead.as    | 14 +++++++-------
 .../html/beads/SensitiveSingleSelectionDropTargetBead.as   | 14 +++++++-------
 .../royale/html/beads/SingleSelectionDropTargetBead.as     | 12 ++++++------
 .../royale/html/beads/controllers/DragMouseController.as   |  4 ++--
 .../src/main/royale/mx/controls/beads/DateFieldView.as     |  4 ++--
 .../mx/controls/beads/SingleSelectionDropTargetBead.as     | 12 ++++++------
 .../mx/controls/beads/TreeSingleSelectionDropTargetBead.as | 12 ++++++------
 .../components/beads/controllers/DropDownListController.as |  4 ++--
 .../main/royale/spark/layouts/supportClasses/LayoutBase.as |  8 ++++----
 .../royale/textLayout/container/ContainerController.as     |  2 +-
 .../royale/textLayout/container/TextContainerManager.as    |  4 ++--
 .../royale/org/apache/royale/textLayout/edit/IMEClient.as  |  8 ++++----
 .../org/apache/royale/textLayout/edit/SelectionManager.as  |  8 ++++----
 15 files changed, 59 insertions(+), 59 deletions(-)

diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DateFieldView.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DateFieldView.as
index 6ead3ad381..3ff4b53f80 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DateFieldView.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DateFieldView.as
@@ -223,8 +223,8 @@ package org.apache.royale.html.beads
 
                                        var host:IPopUpHost = 
UIUtils.findPopUpHost(getHost());
                                        var point:Point = new 
Point(_textInput.width, _button.height);
-                                       var p2:Point = 
PointUtils.localToGlobal(point, _strand);
-                                       var p3:Point = 
PointUtils.globalToLocal(p2, host);
+                                       var p2:Point = 
PointUtils.localToViewport(point, _strand);
+                                       var p3:Point = 
PointUtils.viewportToLocal(p2, host);
                                        _popUp.x = p3.x;
                                        _popUp.y = p3.y;
                                        COMPILE::JS
diff --git 
a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/ButtonBarReorderBead.as
 
b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/ButtonBarReorderBead.as
index 193ef45b9a..51210dfb6a 100644
--- 
a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/ButtonBarReorderBead.as
+++ 
b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/ButtonBarReorderBead.as
@@ -361,15 +361,15 @@ package org.apache.royale.html.beads
 
                        if (dropDirection == "horizontal") {
                                pt0 = new Point(0, item.y);
-                               pt1 = PointUtils.localToGlobal(pt0, 
item.parent);
-                               pt2 = PointUtils.globalToLocal(pt1, 
indicatorParent);
+                               pt1 = PointUtils.localToViewport(pt0, 
item.parent);
+                               pt2 = PointUtils.viewportToLocal(pt1, 
indicatorParent);
                                _dropIndicator.x = 0;
                                _dropIndicator.y = pt2.y - 1;
                        }
                        else {
                                pt0 = new Point(item.x, 0);
-                               pt1 = PointUtils.localToGlobal(pt0, 
item.parent);
-                               pt2 = PointUtils.globalToLocal(pt1, 
indicatorParent);
+                               pt1 = PointUtils.localToViewport(pt0, 
item.parent);
+                               pt2 = PointUtils.viewportToLocal(pt1, 
indicatorParent);
                                _dropIndicator.x = pt2.x - 1;
                                _dropIndicator.y = 0;
                        }
diff --git 
a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SensitiveMultiSelectionDropTargetBead.as
 
b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SensitiveMultiSelectionDropTargetBead.as
index 12ab796b97..362d50f99d 100644
--- 
a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SensitiveMultiSelectionDropTargetBead.as
+++ 
b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SensitiveMultiSelectionDropTargetBead.as
@@ -241,7 +241,7 @@ package org.apache.royale.html.beads
                        for (var i:int = 0; i < 
itemRendererOwnerView.numItemRenderers; i++)
                        {
                                var ir:IUIBase = 
itemRendererOwnerView.getItemRendererAt(i) as IUIBase;
-                               var localY:Number = 
PointUtils.globalToLocal(new Point(e.clientX, e.clientY), ir).y;
+                                                       var localY:Number = 
PointUtils.viewportToLocal(new Point(e.clientX, e.clientY), ir).y;
                                if (localY >= 0 && localY <= ir.height)
                                {
                                        calculatedIndex = i;
@@ -388,15 +388,15 @@ package org.apache.royale.html.beads
 
                        if (dropDirection == "horizontal") {
                                pt0 = new Point(0, item.y+item.height);
-                               pt1 = PointUtils.localToGlobal(pt0, 
item.parent);
-                               pt2 = PointUtils.globalToLocal(pt1, 
indicatorParent);
+                               pt1 = PointUtils.localToViewport(pt0, 
item.parent);
+                               pt2 = PointUtils.viewportToLocal(pt1, 
indicatorParent);
                                _dropIndicator.x = 0;
                                _dropIndicator.y = pt2.y - 1;
                        }
                        else {
                                pt0 = new Point(item.x, 0);
-                               pt1 = PointUtils.localToGlobal(pt0, 
item.parent);
-                               pt2 = PointUtils.globalToLocal(pt1, 
indicatorParent);
+                               pt1 = PointUtils.localToViewport(pt0, 
item.parent);
+                               pt2 = PointUtils.viewportToLocal(pt1, 
indicatorParent);
                                _dropIndicator.x = pt2.x - 1;
                                _dropIndicator.y = 0;
                        }
@@ -405,8 +405,8 @@ package org.apache.royale.html.beads
                COMPILE::JS
                private function displayDropIndicator(item:IUIBase, 
isEndOfList:Boolean=false):void
                {
-                       var pt:Point = PointUtils.localToGlobal(new Point(0,0), 
item);
-                       pt = PointUtils.globalToLocal(pt,indicatorParent);
+                       var pt:Point = PointUtils.localToViewport(new 
Point(0,0), item);
+                       pt = PointUtils.viewportToLocal(pt,indicatorParent);
                        if (dropDirection == "horizontal") {
                                _dropIndicator.x = 0;
                                _dropIndicator.y = pt.y + (isEndOfList ? 
item.height : 0);
diff --git 
a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SensitiveSingleSelectionDropTargetBead.as
 
b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SensitiveSingleSelectionDropTargetBead.as
index 7df2e3359e..00d19a3d44 100644
--- 
a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SensitiveSingleSelectionDropTargetBead.as
+++ 
b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SensitiveSingleSelectionDropTargetBead.as
@@ -243,7 +243,7 @@ package org.apache.royale.html.beads
                        for (var i:int = 0; i < 
itemRendererOwnerView.numItemRenderers; i++)
                        {
                                var ir:IUIBase = 
itemRendererOwnerView.getItemRendererAt(i) as IUIBase;
-                               var localY:Number = 
PointUtils.globalToLocal(new Point(e.clientX, e.clientY), ir).y;
+                                                       var localY:Number = 
PointUtils.viewportToLocal(new Point(e.clientX, e.clientY), ir).y;
                                if (localY >= 0 && localY <= ir.height)
                                {
                                        calculatedIndex = i;
@@ -384,15 +384,15 @@ package org.apache.royale.html.beads
 
                        if (dropDirection == "horizontal") {
                                pt0 = new Point(0, item.y+item.height);
-                               pt1 = PointUtils.localToGlobal(pt0, 
item.parent);
-                               pt2 = PointUtils.globalToLocal(pt1, 
indicatorParent);
+                               pt1 = PointUtils.localToViewport(pt0, 
item.parent);
+                               pt2 = PointUtils.viewportToLocal(pt1, 
indicatorParent);
                                _dropIndicator.x = 0;
                                _dropIndicator.y = pt2.y - 1;
                        }
                        else {
                                pt0 = new Point(item.x, 0);
-                               pt1 = PointUtils.localToGlobal(pt0, 
item.parent);
-                               pt2 = PointUtils.globalToLocal(pt1, 
indicatorParent);
+                               pt1 = PointUtils.localToViewport(pt0, 
item.parent);
+                               pt2 = PointUtils.viewportToLocal(pt1, 
indicatorParent);
                                _dropIndicator.x = pt2.x - 1;
                                _dropIndicator.y = 0;
                        }
@@ -401,8 +401,8 @@ package org.apache.royale.html.beads
                COMPILE::JS
                private function displayDropIndicator(item:IUIBase, 
isEndOfList:Boolean=false):void
                {
-                       var pt:Point = PointUtils.localToGlobal(new Point(0,0), 
item);
-                       pt = PointUtils.globalToLocal(pt,indicatorParent);
+                       var pt:Point = PointUtils.localToViewport(new 
Point(0,0), item);
+                       pt = PointUtils.viewportToLocal(pt,indicatorParent);
                        if (dropDirection == "horizontal") {
                                _dropIndicator.x = 0;
                                _dropIndicator.y = pt.y + (isEndOfList ? 
item.height : 0);
diff --git 
a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SingleSelectionDropTargetBead.as
 
b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SingleSelectionDropTargetBead.as
index f2b84945ba..0386497202 100644
--- 
a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SingleSelectionDropTargetBead.as
+++ 
b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SingleSelectionDropTargetBead.as
@@ -407,15 +407,15 @@ package org.apache.royale.html.beads
 
                        if (dropDirection == "horizontal") {
                                pt0 = new Point(0, item.y+item.height);
-                               pt1 = PointUtils.localToGlobal(pt0, 
item.parent);
-                               pt2 = PointUtils.globalToLocal(pt1, 
indicatorParent);
+                               pt1 = PointUtils.localToViewport(pt0, 
item.parent);
+                               pt2 = PointUtils.viewportToLocal(pt1, 
indicatorParent);
                                _dropIndicator.x = 0;
                                _dropIndicator.y = pt2.y - 1;
                        }
                        else {
                                pt0 = new Point(item.x, 0);
-                               pt1 = PointUtils.localToGlobal(pt0, 
item.parent);
-                               pt2 = PointUtils.globalToLocal(pt1, 
indicatorParent);
+                               pt1 = PointUtils.localToViewport(pt0, 
item.parent);
+                               pt2 = PointUtils.viewportToLocal(pt1, 
indicatorParent);
                                _dropIndicator.x = pt2.x - 1;
                                _dropIndicator.y = 0;
                        }
@@ -424,8 +424,8 @@ package org.apache.royale.html.beads
                COMPILE::JS
                private function displayDropIndicator(item:IUIBase):void
                {
-                       var pt:Point = PointUtils.localToGlobal(new Point(0,0), 
item);
-                       pt = PointUtils.globalToLocal(pt,indicatorParent);
+                       var pt:Point = PointUtils.localToViewport(new 
Point(0,0), item);
+                       pt = PointUtils.viewportToLocal(pt,indicatorParent);
                        if (dropDirection == "horizontal") {
                                _dropIndicator.x = 0;
                                _dropIndicator.y = pt.y;
diff --git 
a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/controllers/DragMouseController.as
 
b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/controllers/DragMouseController.as
index e3da127eaa..0626418d69 100644
--- 
a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/controllers/DragMouseController.as
+++ 
b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/controllers/DragMouseController.as
@@ -315,7 +315,7 @@ package org.apache.royale.html.beads.controllers
                         host = UIUtils.findPopUpHost(_strand as IUIBase);
                         if (host == null) return;
                         host.popUpParent.addElement(dragImage);
-                        pt = PointUtils.globalToLocal(new Point(event.clientX, 
event.clientY), host);
+                        pt = PointUtils.viewportToLocal(new 
Point(event.clientX, event.clientY), host);
                         dragImage.x = pt.x + dragImageOffsetX;
                         dragImage.y = pt.y + dragImageOffsetY;
                                                (dragImage as UIBase).id = 
"drag_image";
@@ -336,7 +336,7 @@ package org.apache.royale.html.beads.controllers
                 if (host == null) return;
 //                trace("DRAG-MOUSE: sending dragMove via " + 
event.target.toString()+" == "+dragImageOffsetX);
                 dragEvent = DragEvent.createDragEvent("dragMove", event);
-                pt = PointUtils.globalToLocal(new Point(event.clientX, 
event.clientY), host);
+                pt = PointUtils.viewportToLocal(new Point(event.clientX, 
event.clientY), host);
                 dragImage.x = pt.x + dragImageOffsetX;
                 dragImage.y = pt.y + dragImageOffsetY;
                                COMPILE::SWF {
diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DateFieldView.as
 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DateFieldView.as
index dfde049afb..ff627da3b9 100644
--- 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DateFieldView.as
+++ 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DateFieldView.as
@@ -118,8 +118,8 @@ package mx.controls.beads
 
                                        var host:IPopUpHost = 
UIUtils.findPopUpHost(getHost());
                                        var point:Point = new 
Point(_textInput.width, _button.height);
-                                       var p2:Point = 
PointUtils.localToGlobal(point, _strand);
-                                       var p3:Point = 
PointUtils.globalToLocal(p2, host);
+                    var p2:Point = PointUtils.localToViewport(point, _strand);
+                    var p3:Point = PointUtils.viewportToLocal(p2, host);
                                        _popUp.x = p3.x;
                                        _popUp.y = p3.y;
                                        COMPILE::JS {
diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/SingleSelectionDropTargetBead.as
 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/SingleSelectionDropTargetBead.as
index 30e94a218b..43858594bb 100644
--- 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/SingleSelectionDropTargetBead.as
+++ 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/SingleSelectionDropTargetBead.as
@@ -395,15 +395,15 @@ package mx.controls.beads
 
                        if (dropDirection == "horizontal") {
                                pt0 = new Point(0, item.y+item.height);
-                               pt1 = PointUtils.localToGlobal(pt0, 
item.parent);
-                               pt2 = PointUtils.globalToLocal(pt1, 
indicatorParent);
+                               pt1 = PointUtils.localToViewport(pt0, 
item.parent);
+                               pt2 = PointUtils.viewportToLocal(pt1, 
indicatorParent);
                                _dropIndicator.x = 0;
                                _dropIndicator.y = pt2.y - 1;
                        }
                        else {
                                pt0 = new Point(item.x, 0);
-                               pt1 = PointUtils.localToGlobal(pt0, 
item.parent);
-                               pt2 = PointUtils.globalToLocal(pt1, 
indicatorParent);
+                               pt1 = PointUtils.localToViewport(pt0, 
item.parent);
+                               pt2 = PointUtils.viewportToLocal(pt1, 
indicatorParent);
                                _dropIndicator.x = pt2.x - 1;
                                _dropIndicator.y = 0;
                        }
@@ -412,8 +412,8 @@ package mx.controls.beads
                COMPILE::JS
                private function displayDropIndicator(item:IUIBase):void
                {
-                       var pt:Point = PointUtils.localToGlobal(new Point(0,0), 
item);
-                       pt = PointUtils.globalToLocal(pt,indicatorParent);
+                       var pt:Point = PointUtils.localToViewport(new 
Point(0,0), item);
+                       pt = PointUtils.viewportToLocal(pt,indicatorParent);
                        if (dropDirection == "horizontal") {
                                _dropIndicator.x = 0;
                                _dropIndicator.y = pt.y;
diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/TreeSingleSelectionDropTargetBead.as
 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/TreeSingleSelectionDropTargetBead.as
index b089f7eef9..af8a39bb12 100644
--- 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/TreeSingleSelectionDropTargetBead.as
+++ 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/TreeSingleSelectionDropTargetBead.as
@@ -369,15 +369,15 @@ package mx.controls.beads
 
                        if (dropDirection == "horizontal") {
                                pt0 = new Point(0, item.y+item.height);
-                               pt1 = PointUtils.localToGlobal(pt0, 
item.parent);
-                               pt2 = PointUtils.globalToLocal(pt1, 
indicatorParent);
+                               pt1 = PointUtils.localToViewport(pt0, 
item.parent);
+                               pt2 = PointUtils.viewportToLocal(pt1, 
indicatorParent);
                                _dropIndicator.x = 0;
                                _dropIndicator.y = pt2.y - 1;
                        }
                        else {
                                pt0 = new Point(item.x, 0);
-                               pt1 = PointUtils.localToGlobal(pt0, 
item.parent);
-                               pt2 = PointUtils.globalToLocal(pt1, 
indicatorParent);
+                               pt1 = PointUtils.localToViewport(pt0, 
item.parent);
+                               pt2 = PointUtils.viewportToLocal(pt1, 
indicatorParent);
                                _dropIndicator.x = pt2.x - 1;
                                _dropIndicator.y = 0;
                        }
@@ -386,8 +386,8 @@ package mx.controls.beads
                COMPILE::JS
                private function displayDropIndicator(item:IUIBase):void
                {
-                       var pt:Point = PointUtils.localToGlobal(new Point(0,0), 
item);
-                       pt = PointUtils.globalToLocal(pt,indicatorParent);
+                       var pt:Point = PointUtils.localToViewport(new 
Point(0,0), item);
+                       pt = PointUtils.viewportToLocal(pt,indicatorParent);
                        if (dropDirection == "horizontal") {
                                _dropIndicator.x = 0;
                                _dropIndicator.y = pt.y;
diff --git 
a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/controllers/DropDownListController.as
 
b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/controllers/DropDownListController.as
index 5e8b8810a3..4910f335a4 100644
--- 
a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/controllers/DropDownListController.as
+++ 
b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/controllers/DropDownListController.as
@@ -87,8 +87,8 @@ public class DropDownListController implements IBead, 
IBeadController
         if (viewBead.popUpVisible)
         {
             var pt:Point = new Point(0, host.height);
-            pt = PointUtils.localToGlobal(pt, _strand);
-            pt = PointUtils.globalToLocal(pt, popup.parent);
+            pt = PointUtils.localToViewport(pt, _strand);
+            pt = PointUtils.viewportToLocal(pt, popup.parent);
             popup.x = pt.x;
             popup.y = pt.y;
             IEventDispatcher(viewBead.popUp).addEventListener("change", 
changeHandler);
diff --git 
a/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/supportClasses/LayoutBase.as
 
b/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/supportClasses/LayoutBase.as
index 7eed160e4c..760fd7ae3d 100644
--- 
a/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/supportClasses/LayoutBase.as
+++ 
b/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/supportClasses/LayoutBase.as
@@ -898,9 +898,9 @@ public class LayoutBase extends 
org.apache.royale.core.LayoutBase implements IEv
             var sizePoint:Point = new Point(element.getLayoutBoundsWidth(), 
element.getLayoutBoundsHeight());
             
             // Convert from local to global coordinate space
-            var posPoint:Point = PointUtils.localToGlobal(posPointStart, 
parentUIC);
+            var posPoint:Point = PointUtils.localToViewport(posPointStart, 
parentUIC);
             // Convert from global to target's local coordinate space
-            posPoint = PointUtils.globalToLocal(posPoint, g);
+            posPoint = PointUtils.viewportToLocal(posPoint, g);
                         
             return new Rectangle(posPoint.x, posPoint.y, sizePoint.x, 
sizePoint.y);
         }
@@ -930,9 +930,9 @@ public class LayoutBase extends 
org.apache.royale.core.LayoutBase implements IEv
                                                 element.getLayoutBoundsY() + 
elementLocalBounds.y);
             
             // Convert from local to global coordinate space
-            var posPoint:Point = PointUtils.localToGlobal(posPointStart, 
parentUIC);
+            var posPoint:Point = PointUtils.localToViewport(posPointStart, 
parentUIC);
             // Convert from global to target's local coordinate space
-            posPoint = PointUtils.globalToLocal(posPoint, g);
+            posPoint = PointUtils.viewportToLocal(posPoint, g);
             
             return new Rectangle(posPoint.x, posPoint.y, 
elementLocalBounds.width, elementLocalBounds.height);
         }
diff --git 
a/frameworks/projects/TLF/src/main/royale/org/apache/royale/textLayout/container/ContainerController.as
 
b/frameworks/projects/TLF/src/main/royale/org/apache/royale/textLayout/container/ContainerController.as
index 11451b7a15..88f2a73f0f 100644
--- 
a/frameworks/projects/TLF/src/main/royale/org/apache/royale/textLayout/container/ContainerController.as
+++ 
b/frameworks/projects/TLF/src/main/royale/org/apache/royale/textLayout/container/ContainerController.as
@@ -1898,7 +1898,7 @@ package org.apache.royale.textLayout.container
                        if (!_hasScrollRect)
                                return;
                        var containerPoint:Point = new Point(mouseX, mouseY);
-                       containerPoint = 
PointUtils.globalToLocal(containerPoint, _container);// 
_container.globalToLocal(containerPoint);                      
+                       containerPoint = 
PointUtils.viewportToLocal(containerPoint, _container);// 
_container.globalToLocal(containerPoint);
                        autoScrollIfNecessaryInternal(containerPoint);
                }
                
diff --git 
a/frameworks/projects/TLF/src/main/royale/org/apache/royale/textLayout/container/TextContainerManager.as
 
b/frameworks/projects/TLF/src/main/royale/org/apache/royale/textLayout/container/TextContainerManager.as
index 48b92fcb6c..5acf533bc6 100644
--- 
a/frameworks/projects/TLF/src/main/royale/org/apache/royale/textLayout/container/TextContainerManager.as
+++ 
b/frameworks/projects/TLF/src/main/royale/org/apache/royale/textLayout/container/TextContainerManager.as
@@ -2518,8 +2518,8 @@ class RemappedMouseEvent extends 
org.apache.royale.events.MouseEvent
                var containerPoint:Point;
                if (!cloning)
                {
-                       containerPoint = PointUtils.localToGlobal(new 
Point(event.localX, event.localY), event.target);// 
DisplayObject(event.target).localToGlobal(new Point(event.localX, 
event.localY));
-                       containerPoint = 
PointUtils.globalToLocal(containerPoint, event.currentTarget);// 
DisplayObject(event.currentTarget).globalToLocal(containerPoint);
+                                  containerPoint = 
PointUtils.localToViewport(new Point(event.localX, event.localY), 
event.target);// DisplayObject(event.target).localToGlobal(new 
Point(event.localX, event.localY));
+                                  containerPoint = 
PointUtils.viewportToLocal(containerPoint, event.currentTarget);// 
DisplayObject(event.currentTarget).globalToLocal(containerPoint);
                }
                else
                        containerPoint = new Point();
diff --git 
a/frameworks/projects/TLF/src/main/royale/org/apache/royale/textLayout/edit/IMEClient.as
 
b/frameworks/projects/TLF/src/main/royale/org/apache/royale/textLayout/edit/IMEClient.as
index 58f31d3c27..f7671aadc0 100644
--- 
a/frameworks/projects/TLF/src/main/royale/org/apache/royale/textLayout/edit/IMEClient.as
+++ 
b/frameworks/projects/TLF/src/main/royale/org/apache/royale/textLayout/edit/IMEClient.as
@@ -329,12 +329,12 @@ package org.apache.royale.textLayout.edit
                                        {
                                                var bounds:Rectangle = 
boundsResult[0].rect;
                                                var textLine:ITextLine = 
boundsResult[0].textLine;
-                                               var resultTopLeft:Point = 
PointUtils.localToGlobal(bounds.topLeft, textLine);// 
textLine.localToGlobal(bounds.topLeft);
-                                               var resultBottomRight:Point = 
PointUtils.localToGlobal(bounds.bottomRight, textLine);// 
textLine.localToGlobal(bounds.bottomRight);
+                                                                               
        var resultTopLeft:Point = PointUtils.localToViewport(bounds.topLeft, 
textLine);// textLine.localToGlobal(bounds.topLeft);
+                                                                               
        var resultBottomRight:Point = 
PointUtils.localToViewport(bounds.bottomRight, textLine);// 
textLine.localToGlobal(bounds.bottomRight);
                                                if (textLine.parent)
                                                {
-                                                       var 
containerTopLeft:Point = PointUtils.globalToLocal(resultTopLeft, 
textLine.parent);// textLine.parent.globalToLocal(resultTopLeft);
-                                                       var 
containerBottomLeft:Point = PointUtils.globalToLocal(resultBottomRight, 
textLine.parent);// textLine.parent.globalToLocal(resultBottomRight);
+                                                                               
                        var containerTopLeft:Point = 
PointUtils.viewportToLocal(resultTopLeft, textLine.parent);// 
textLine.parent.globalToLocal(resultTopLeft);
+                                                                               
                        var containerBottomLeft:Point = 
PointUtils.viewportToLocal(resultBottomRight, textLine.parent);// 
textLine.parent.globalToLocal(resultBottomRight);
                                                        // CONFIG::debug { 
displayRectInContainer(Sprite(textLine.parent), new 
Rectangle(containerTopLeft.x, containerTopLeft.y, containerBottomLeft.x - 
containerTopLeft.x, containerBottomLeft.y - containerTopLeft.y));}
                                                        return new 
Rectangle(containerTopLeft.x, containerTopLeft.y, containerBottomLeft.x - 
containerTopLeft.x, containerBottomLeft.y - containerTopLeft.y);
                                                }
diff --git 
a/frameworks/projects/TLF/src/main/royale/org/apache/royale/textLayout/edit/SelectionManager.as
 
b/frameworks/projects/TLF/src/main/royale/org/apache/royale/textLayout/edit/SelectionManager.as
index 3520b3a315..43a1dfc404 100644
--- 
a/frameworks/projects/TLF/src/main/royale/org/apache/royale/textLayout/edit/SelectionManager.as
+++ 
b/frameworks/projects/TLF/src/main/royale/org/apache/royale/textLayout/edit/SelectionManager.as
@@ -1790,7 +1790,7 @@ package org.apache.royale.textLayout.edit
                        var controller:IContainerController;
                        var containerPoint:Point; // scratch
 
-                       var globalPoint:Point = PointUtils.localToGlobal(new 
Point(localX, localY), target);// DisplayObject(target).localToGlobal(new 
Point(localX, localY));
+                                  var globalPoint:Point = 
PointUtils.localToViewport(new Point(localX, localY), target);// 
DisplayObject(target).localToGlobal(new Point(localX, localY));
 
                        for (var idx:int = 0; idx < 
textFlow.flowComposer.numControllers; idx++)
                        {
@@ -1805,7 +1805,7 @@ package org.apache.royale.textLayout.edit
                        {
                                if (target != controller.container)
                                {
-                                       containerPoint = 
PointUtils.globalToLocal(globalPoint, controller.container);// 
DisplayObject(controller.container).globalToLocal(globalPoint);
+                                                                  
containerPoint = PointUtils.viewportToLocal(globalPoint, 
controller.container);// 
DisplayObject(controller.container).globalToLocal(globalPoint);
                                        localPoint.x = containerPoint.x;
                                        localPoint.y = containerPoint.y;
                                }
@@ -1837,7 +1837,7 @@ package org.apache.royale.textLayout.edit
                                var containerWidth:Number = 
isNaN(curContainerController.compositionWidth) ? 
curContainerController.getTotalPaddingLeft() + bounds.width : 
curContainerController.compositionWidth;
                                var containerHeight:Number = 
isNaN(curContainerController.compositionHeight) ? 
curContainerController.getTotalPaddingTop() + bounds.height : 
curContainerController.compositionHeight;
 
-                               containerPoint = 
PointUtils.globalToLocal(globalPoint, curContainerController.container);// 
DisplayObject(curContainerController.container).globalToLocal(globalPoint);
+                                                  containerPoint = 
PointUtils.viewportToLocal(globalPoint, curContainerController.container);// 
DisplayObject(curContainerController.container).globalToLocal(globalPoint);
 
                                // remove scrollRect effects for the distance 
test but add it back in for the result
                                var adjustX:Number = 0;
@@ -2225,7 +2225,7 @@ package org.apache.royale.textLayout.edit
 
                                        if (cellContainer)
                                        {
-                                               var cellContainerPoint:Point = 
PointUtils.localToGlobal(new Point(), cellContainer);// 
cellContainer.localToGlobal(new Point);
+                                               var cellContainerPoint:Point = 
PointUtils.localToViewport(new Point(), cellContainer);// 
cellContainer.localToGlobal(new Point);
                                                point = 
globalPoint.subtract(cellContainerPoint);
                                        }
                                        if (useTableSelectionCursors)

Reply via email to