Blob Blame History Raw
From 81c5808af3987e81f571e0436d04a6a96ccf19ca Mon Sep 17 00:00:00 2001
From: Miklos Vajna <vmiklos@collabora.co.uk>
Date: Fri, 13 Nov 2015 11:33:43 +0100
Subject: [PATCH 322/398] editeng lok: respect origin of map mode for
 INVALIDATE_VISIBLE_CURSOR

Writer comments are separate widgets, but we want to have coordinates in
absolutes twips, so give Writer a chance to inform us about the delta.

For now only do this in case the map unit is twips, as Impress sets the
origin already.

Change-Id: Idf340944165e44b0888c00965d6be7798712ff76
(cherry picked from commit e988ab84f1c32519bfca758086c749ba98a5a85f)
---
 editeng/source/editeng/impedit.cxx | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/editeng/source/editeng/impedit.cxx b/editeng/source/editeng/impedit.cxx
index f7e2886c0524..8038ac6d3d41 100644
--- a/editeng/source/editeng/impedit.cxx
+++ b/editeng/source/editeng/impedit.cxx
@@ -947,6 +947,13 @@ void ImpEditView::ShowCursor( bool bGotoCursor, bool bForceVisCursor, sal_uInt16
             // LOK output is always in twips, convert from mm100 if necessary.
             if (pOutWin->GetMapMode().GetMapUnit() == MAP_100TH_MM)
                 aRect = OutputDevice::LogicToLogic(aRect, MAP_100TH_MM, MAP_TWIP);
+            else if (pOutWin->GetMapMode().GetMapUnit() == MAP_TWIP)
+            {
+                // Writer comments: they use editeng, but are separate widgets.
+                Point aOrigin = pOutWin->GetMapMode().GetOrigin();
+                // Move the rectangle, so that we output absolute twips.
+                aRect.Move(aOrigin.getX(), aOrigin.getY());
+            }
             // Let the LOK client decide the cursor width.
             aRect.setWidth(0);
 
-- 
2.12.0