diff options
author | Andrzej Hunt <andrzej.hunt@collabora.com> | 2014-08-27 14:29:07 +0200 |
---|---|---|
committer | Andrzej Hunt <andrzej.hunt@collabora.com> | 2014-08-30 21:37:11 +0200 |
commit | d146df0b68cef6e3f96a1ab48a5a694a5275153b (patch) | |
tree | c944ba87516b167119d2cf4a718e8fc4a7562faa | |
parent | d8c049fa8d32b8d7250c421c93153873e10db1cb (diff) |
Use GetScrPos so that col/row-headers match the grid.
Without this we can still get single pixel errors which can sum
up over multiple columns/row.
Change-Id: Id428dafab1ca771c123c84d815261263a7d33fed
-rw-r--r-- | sc/source/ui/view/colrowba.cxx | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/sc/source/ui/view/colrowba.cxx b/sc/source/ui/view/colrowba.cxx index 3bc9c474d707..19476ec3fb62 100644 --- a/sc/source/ui/view/colrowba.cxx +++ b/sc/source/ui/view/colrowba.cxx @@ -81,9 +81,18 @@ sal_uInt16 ScColBar::GetEntrySize( SCCOLROW nEntryNo ) const ScDocument* pDoc = pViewData->GetDocument(); SCTAB nTab = pViewData->GetTabNo(); if (pDoc->ColHidden(static_cast<SCCOL>(nEntryNo), nTab)) + { return 0; + } else - return (sal_uInt16) ScViewData::ToPixel( pDoc->GetColWidth( static_cast<SCCOL>(nEntryNo), nTab ), pViewData->GetPPTX() ); + { + Point aBefore = pViewData->GetScrPos( nEntryNo, 0, SC_SPLIT_BOTTOMLEFT ); + Point aAfter = pViewData->GetScrPos( nEntryNo + 1, 0, SC_SPLIT_BOTTOMLEFT ); + + bool bLayoutRTL = IsLayoutRTL(); + long nLayoutSign = bLayoutRTL ? -1 : 1; + return ( aAfter.getX() - aBefore.getX() ) * nLayoutSign; + } } OUString ScColBar::GetEntryText( SCCOLROW nEntryNo ) const @@ -236,10 +245,16 @@ sal_uInt16 ScRowBar::GetEntrySize( SCCOLROW nEntryNo ) const SCTAB nTab = pViewData->GetTabNo(); SCROW nLastRow = -1; if (pDoc->RowHidden(nEntryNo, nTab, NULL, &nLastRow)) + { return 0; + } else - return (sal_uInt16) ScViewData::ToPixel( pDoc->GetOriginalHeight( nEntryNo, - nTab ), pViewData->GetPPTY() ); + { + Point aBefore = pViewData->GetScrPos( 0, nEntryNo, SC_SPLIT_BOTTOMLEFT ); + Point aAfter = pViewData->GetScrPos( 0, nEntryNo + 1, SC_SPLIT_BOTTOMLEFT ); + + return aAfter.getY() - aBefore.getY(); + } } OUString ScRowBar::GetEntryText( SCCOLROW nEntryNo ) const |