|
 |
135360 |
From 9d9749fb86461eefdb2bab01de003409b236dde0 Mon Sep 17 00:00:00 2001
|
|
 |
135360 |
From: Miklos Vajna <vmiklos@collabora.co.uk>
|
|
 |
135360 |
Date: Mon, 2 Nov 2015 15:18:09 +0100
|
|
 |
135360 |
Subject: [PATCH 258/398] sc lok: fix rounding errors with non-100% zoom
|
|
 |
135360 |
|
|
 |
135360 |
There were two problems here:
|
|
 |
135360 |
|
|
 |
135360 |
1) ScTabView::getRowColumnHeaders() did not expose twip values directly,
|
|
 |
135360 |
but used ScRow/ColBar::GetEntrySize(), which does a twip -> pixel
|
|
 |
135360 |
conversion, and then converted it back to twip. Avoid this unnecessary
|
|
 |
135360 |
roundtrip.
|
|
 |
135360 |
|
|
 |
135360 |
2) ScViewData::ToPixel() trunaces the resulting float to an integer, so
|
|
 |
135360 |
if the result is e.g. 67.7 pixels, then Calc handled that as 67, but
|
|
 |
135360 |
gtktiledviewer rounded that up to 68, resulting in non-matching headers
|
|
 |
135360 |
for the rendered tiles.
|
|
 |
135360 |
|
|
 |
135360 |
Change-Id: Ie6ed1ea923a423d1526eeb235b7b87106fd2f20b
|
|
 |
135360 |
(cherry picked from commit 861b28b88909ec39fc83fccc0ab23d288128aa0e)
|
|
 |
135360 |
---
|
|
 |
135360 |
libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx | 4 ++--
|
|
 |
135360 |
sc/source/ui/view/tabview.cxx | 11 ++++-------
|
|
 |
135360 |
2 files changed, 6 insertions(+), 9 deletions(-)
|
|
 |
135360 |
|
|
 |
135360 |
diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
|
 |
135360 |
index c6821065d147..7e6379124678 100644
|
|
 |
135360 |
--- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
|
 |
135360 |
+++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
|
 |
135360 |
@@ -256,7 +256,7 @@ gboolean TiledRowColumnBar::docConfigureEvent(GtkWidget* pDocView, GdkEventConfi
|
|
 |
135360 |
rWindow.m_pRowBar->m_aHeaders.clear();
|
|
 |
135360 |
for (boost::property_tree::ptree::value_type& rValue : aTree.get_child("rows"))
|
|
 |
135360 |
{
|
|
 |
135360 |
- int nSize = std::round(lok_doc_view_twip_to_pixel(LOK_DOC_VIEW(pDocView), std::atof(rValue.second.get<std::string>("size").c_str())));
|
|
 |
135360 |
+ int nSize = lok_doc_view_twip_to_pixel(LOK_DOC_VIEW(pDocView), std::atof(rValue.second.get<std::string>("size").c_str()));
|
|
 |
135360 |
Header aHeader(nSize, rValue.second.get<std::string>("text"));
|
|
 |
135360 |
rWindow.m_pRowBar->m_aHeaders.push_back(aHeader);
|
|
 |
135360 |
}
|
|
 |
135360 |
@@ -266,7 +266,7 @@ gboolean TiledRowColumnBar::docConfigureEvent(GtkWidget* pDocView, GdkEventConfi
|
|
 |
135360 |
rWindow.m_pColumnBar->m_aHeaders.clear();
|
|
 |
135360 |
for (boost::property_tree::ptree::value_type& rValue : aTree.get_child("columns"))
|
|
 |
135360 |
{
|
|
 |
135360 |
- int nSize = std::round(lok_doc_view_twip_to_pixel(LOK_DOC_VIEW(pDocView), std::atof(rValue.second.get<std::string>("size").c_str())));
|
|
 |
135360 |
+ int nSize = lok_doc_view_twip_to_pixel(LOK_DOC_VIEW(pDocView), std::atof(rValue.second.get<std::string>("size").c_str()));
|
|
 |
135360 |
Header aHeader(nSize, rValue.second.get<std::string>("text"));
|
|
 |
135360 |
rWindow.m_pColumnBar->m_aHeaders.push_back(aHeader);
|
|
 |
135360 |
}
|
|
 |
135360 |
diff --git a/sc/source/ui/view/tabview.cxx b/sc/source/ui/view/tabview.cxx
|
|
 |
135360 |
index f2f6179eaaf9..2d886bca6003 100644
|
|
 |
135360 |
--- a/sc/source/ui/view/tabview.cxx
|
|
 |
135360 |
+++ b/sc/source/ui/view/tabview.cxx
|
|
 |
135360 |
@@ -2313,15 +2313,12 @@ OUString ScTabView::getRowColumnHeaders()
|
|
 |
135360 |
SCROW nEndRow = 0;
|
|
 |
135360 |
pDoc->GetTiledRenderingArea(aViewData.GetTabNo(), nEndCol, nEndRow);
|
|
 |
135360 |
|
|
 |
135360 |
- double nPPTX = aViewData.GetPPTX();
|
|
 |
135360 |
- double nPPTY = aViewData.GetPPTY();
|
|
 |
135360 |
-
|
|
 |
135360 |
boost::property_tree::ptree aRows;
|
|
 |
135360 |
for (SCROW nRow = 0; nRow <= nEndRow; ++nRow)
|
|
 |
135360 |
{
|
|
 |
135360 |
boost::property_tree::ptree aRow;
|
|
 |
135360 |
- sal_uInt16 nSize = pRowBar[SC_SPLIT_BOTTOM]->GetEntrySize(nRow);
|
|
 |
135360 |
- aRow.put("size", OString::number(nSize / nPPTY).getStr());
|
|
 |
135360 |
+ sal_uInt16 nSize = pDoc->GetOriginalHeight(nRow, aViewData.GetTabNo());
|
|
 |
135360 |
+ aRow.put("size", OString::number(nSize).getStr());
|
|
 |
135360 |
OUString aText = pRowBar[SC_SPLIT_BOTTOM]->GetEntryText(nRow);
|
|
 |
135360 |
aRow.put("text", aText.toUtf8().getStr());
|
|
 |
135360 |
aRows.push_back(std::make_pair("", aRow));
|
|
 |
135360 |
@@ -2331,8 +2328,8 @@ OUString ScTabView::getRowColumnHeaders()
|
|
 |
135360 |
for (SCCOL nCol = 0; nCol <= nEndCol; ++nCol)
|
|
 |
135360 |
{
|
|
 |
135360 |
boost::property_tree::ptree aCol;
|
|
 |
135360 |
- sal_uInt16 nSize = pColBar[SC_SPLIT_LEFT]->GetEntrySize(nCol);
|
|
 |
135360 |
- aCol.put("size", OString::number(nSize / nPPTX).getStr());
|
|
 |
135360 |
+ sal_uInt16 nSize = pDoc->GetColWidth(nCol, aViewData.GetTabNo());
|
|
 |
135360 |
+ aCol.put("size", OString::number(nSize).getStr());
|
|
 |
135360 |
OUString aText = pColBar[SC_SPLIT_LEFT]->GetEntryText(nCol);
|
|
 |
135360 |
aCol.put("text", aText.toUtf8().getStr());
|
|
 |
135360 |
aCols.push_back(std::make_pair("", aCol));
|
|
 |
135360 |
--
|
|
 |
135360 |
2.12.0
|
|
 |
135360 |
|