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-04 19:24:45 +0200 |
commit | b461894caf90201fe4305e90dbd91bcdda01c7f5 (patch) | |
tree | 86062a8517cc84da4588bdae89026a9b681d489d /sc | |
parent | d88cad2c190d0cc43ee6aaaaf82396be8fdf15fc (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>
Diffstat (limited to 'sc')
-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 c7e42a83cd25..8fb3ae746c18 100644 --- a/sc/source/ui/app/inputhdl.cxx +++ b/sc/source/ui/app/inputhdl.cxx @@ -433,6 +433,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(); |