lok: sc: make hi-dpi/zoom compatible with retrieving cell cursor
A bit different approach than trying to handle different zoom levels at the samet time: instead, always handle the spreadsheet at 100%, but use cairo to scale to the actual zoom level. Change-Id: I318aec8fa4baaab2ee1f271223b2e10e26d41fcf Reviewed-on: https://gerrit.libreoffice.org/63040 Tested-by: Jenkins Reviewed-by: Jan Holesovsky <kendy@collabora.com>
This commit is contained in:
committed by
Jan Holesovsky
parent
0b11ce9dd2
commit
e3ff84aed5
@@ -784,7 +784,7 @@ void DesktopLOKTest::testCellCursor()
|
||||
|
||||
OString aRectangle(aTree.get<std::string>("commandValues").c_str());
|
||||
// cell cursor geometry + col + row
|
||||
CPPUNIT_ASSERT_EQUAL(OString("0, 0, 1279, 255, 0, 0"), aRectangle);
|
||||
CPPUNIT_ASSERT_EQUAL(OString("0, 0, 1274, 254, 0, 0"), aRectangle);
|
||||
|
||||
comphelper::LibreOfficeKit::setActive(false);
|
||||
}
|
||||
|
||||
@@ -5658,7 +5658,7 @@ OString ScGridWindow::getCellCursor( int nOutputWidth, int nOutputHeight,
|
||||
return getCellCursor(zoomX, zoomY);
|
||||
}
|
||||
|
||||
OString ScGridWindow::getCellCursor(const Fraction& rZoomX, const Fraction& rZoomY) const
|
||||
OString ScGridWindow::getCellCursor(const Fraction& /*rZoomX*/, const Fraction& /*rZoomY*/) const
|
||||
{
|
||||
// GridWindow stores a shown cell cursor in mpOOCursors, hence
|
||||
// we can use that to determine whether we would want to be showing
|
||||
@@ -5674,7 +5674,10 @@ OString ScGridWindow::getCellCursor(const Fraction& rZoomX, const Fraction& rZoo
|
||||
Fraction defaultZoomX = pViewData->GetZoomX();
|
||||
Fraction defaultZoomY = pViewData->GetZoomY();
|
||||
|
||||
pViewData->SetZoom(rZoomX, rZoomY, true);
|
||||
// hardcode to what we mean as 100% (256px tiles meaning 3840 twips)
|
||||
Fraction aFracX(long(256 * TWIPS_PER_PIXEL), 3840);
|
||||
Fraction aFracY(long(256 * TWIPS_PER_PIXEL), 3840);
|
||||
pViewData->SetZoom(aFracX, aFracY, true);
|
||||
|
||||
Point aScrPos = pViewData->GetScrPos( nX, nY, eWhich, true );
|
||||
long nSizeXPix;
|
||||
|
||||
Reference in New Issue
Block a user