summaryrefslogtreecommitdiff
path: root/svx/source/svdraw
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2024-10-30 09:51:26 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2024-10-31 12:10:52 +0100
commit11b15571475414ef853e21a6c96afa2ac81f848f (patch)
treee32da625489c121001e8436fb693b2a25a1e1b6e /svx/source/svdraw
parentef085d09e0c019f78a3d35f759c8fe567856b615 (diff)
convert KernArray from sal_Int32 to double
which allows us to eliminate a bunch of rounding at various layers, and consequently maintain a lot more precision Change-Id: I911dedd7c041c1d67396c082e5695346ea689acb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175814 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'svx/source/svdraw')
-rw-r--r--svx/source/svdraw/svdotextdecomposition.cxx8
1 files changed, 4 insertions, 4 deletions
diff --git a/svx/source/svdraw/svdotextdecomposition.cxx b/svx/source/svdraw/svdotextdecomposition.cxx
index e228471b3433..2c04df143f8e 100644
--- a/svx/source/svdraw/svdotextdecomposition.cxx
+++ b/svx/source/svdraw/svdotextdecomposition.cxx
@@ -191,14 +191,14 @@ namespace
}
sal_Int32 nStartOffset = nSpanIdx - nIdx;
- sal_Int32 nStartX = nStartOffset ? m_rInfo.mpDXArray[nStartOffset - 1] : 0;
+ double nStartX = nStartOffset ? m_rInfo.mpDXArray[nStartOffset - 1] : 0;
Point aStartPos(m_rInfo.mrStartPos.X() + nStartX, m_rInfo.mrStartPos.Y());
- std::vector<sal_Int32> aDXArray;
- aDXArray.reserve(nSpanLen);
+ KernArray aDXArray;
+ aDXArray.resize(nSpanLen);
for (sal_Int32 i = 0; i < nSpanLen; ++i)
- aDXArray.push_back(m_rInfo.mpDXArray[nStartOffset + i] - nStartX);
+ aDXArray[i] = m_rInfo.mpDXArray[nStartOffset + i] - nStartX;
auto aKashidaArray = !m_rInfo.mpKashidaArray.empty() ?
std::span<const sal_Bool>(m_rInfo.mpKashidaArray.data() + nStartOffset, nSpanLen) :