summaryrefslogtreecommitdiff
path: root/sc/source/ui
diff options
context:
space:
mode:
authorDennis Francis <dennis.francis@collabora.com>2020-05-24 20:31:52 +0530
committerDennis Francis <dennis.francis@collabora.com>2020-05-25 00:40:01 +0530
commit07cb2b5b8ab7624868e19e0aa687d36195400fd7 (patch)
tree68cb2ef5a8223833b50f0a492e3c3639ddcfdccf /sc/source/ui
parent69a8d8bb6bbeb0e94fe7c4d0314ca937dad52c34 (diff)
lokit: scPrintTwipsMsgs: LOK_CALLBACK_REFERENCE_MARKS
Allow print twips coordinates in LOK_CALLBACK_REFERENCE_MARKS Change-Id: I1bf84c5aebe84ee034ac27932fa8a01d0a3ae831
Diffstat (limited to 'sc/source/ui')
-rw-r--r--sc/source/ui/app/inputhdl.cxx19
1 files changed, 19 insertions, 0 deletions
diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx
index 83079851a552..6f66e14e9b68 100644
--- a/sc/source/ui/app/inputhdl.cxx
+++ b/sc/source/ui/app/inputhdl.cxx
@@ -434,6 +434,25 @@ ReferenceMark ScInputHandler::GetReferenceMark( ScViewData& rViewData, ScDocShel
{
ScSplitPos eWhich = rViewData.GetActivePart();
+ // This method is LOK specific.
+ if (comphelper::LibreOfficeKit::isCompatFlagSet(
+ comphelper::LibreOfficeKit::Compat::scPrintTwipsMsgs))
+ {
+ SCCOL nCol1 = nX1, nCol2 = nX2;
+ SCROW nRow1 = nY1, nRow2 = nY2;
+ PutInOrder(nCol1, nCol2);
+ PutInOrder(nRow1, nRow2);
+ if (nCol1 == nCol2 && nRow1 == nRow2)
+ pDocSh->GetDocument().ExtendMerge(nCol1, nRow1, nCol2, nRow2, nTab);
+
+ Point aTopLeft = rViewData.GetPrintTwipsPos(nCol1, nRow1);
+ Point aBottomRight = rViewData.GetPrintTwipsPos(nCol2 + 1, nRow2 + 1);
+ long nSizeX = aBottomRight.X() - aTopLeft.X() - 1;
+ long nSizeY = aBottomRight.Y() - aTopLeft.Y() - 1;
+
+ return ReferenceMark(aTopLeft.X(), aTopLeft.Y(), nSizeX, nSizeY, nTab, rColor);
+ }
+
Point aScrPos = rViewData.GetScrPos( nX1, nY1, eWhich );
long nScrX = aScrPos.X();
long nScrY = aScrPos.Y();