diff options
author | Dennis Francis <dennis.francis@collabora.com> | 2020-05-24 20:31:52 +0530 |
---|---|---|
committer | Dennis Francis <dennis.francis@collabora.com> | 2020-07-05 09:40:14 +0200 |
commit | ca8c1cec8708fad90b4ed88862930336bd3a0abb (patch) | |
tree | 18a536cee9053e9d7b47a3712437669da8cb2162 | |
parent | ff8ddf5253d629d088b0b6fc5ed7806c40ec636c (diff) |
lokit: scPrintTwipsMsgs: LOK_CALLBACK_REFERENCE_MARKS
Allow print twips coordinates in LOK_CALLBACK_REFERENCE_MARKS
Change-Id: I1bf84c5aebe84ee034ac27932fa8a01d0a3ae831
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97964
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
(cherry picked from commit b461894caf90201fe4305e90dbd91bcdda01c7f5)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97975
Tested-by: Jenkins
-rw-r--r-- | sc/source/ui/app/inputhdl.cxx | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx index 693aaceda87e..2211057458e0 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(); |