summaryrefslogtreecommitdiff
path: root/drawinglayer/source/primitive2d/textbreakuphelper.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'drawinglayer/source/primitive2d/textbreakuphelper.cxx')
-rw-r--r--drawinglayer/source/primitive2d/textbreakuphelper.cxx16
1 files changed, 13 insertions, 3 deletions
diff --git a/drawinglayer/source/primitive2d/textbreakuphelper.cxx b/drawinglayer/source/primitive2d/textbreakuphelper.cxx
index 9c4424b8d01e..8f92d9817a0e 100644
--- a/drawinglayer/source/primitive2d/textbreakuphelper.cxx
+++ b/drawinglayer/source/primitive2d/textbreakuphelper.cxx
@@ -58,6 +58,7 @@ namespace drawinglayer::primitive2d
// prepare values for new portion
basegfx::B2DHomMatrix aNewTransform;
std::vector< double > aNewDXArray;
+ std::vector< sal_Bool > aNewKashidaArray;
const bool bNewStartIsNotOldStart(nIndex > mrSource.getTextPosition());
if(!mbNoDXArray)
@@ -68,6 +69,13 @@ namespace drawinglayer::primitive2d
mrSource.getDXArray().begin() + ((nIndex + nLength) - mrSource.getTextPosition()));
}
+ if(!mbNoDXArray && !mrSource.getKashidaArray().empty())
+ {
+ aNewKashidaArray = std::vector< sal_Bool >(
+ mrSource.getKashidaArray().begin() + (nIndex - mrSource.getTextPosition()),
+ mrSource.getKashidaArray().begin() + ((nIndex + nLength) - mrSource.getTextPosition()));
+ }
+
if(bNewStartIsNotOldStart)
{
// needs to be moved to a new start position
@@ -137,6 +145,7 @@ namespace drawinglayer::primitive2d
nIndex,
nLength,
std::move(aNewDXArray),
+ std::move(aNewKashidaArray),
mrSource.getFontAttribute(),
mrSource.getLocale(),
mrSource.getFontColor(),
@@ -168,6 +177,7 @@ namespace drawinglayer::primitive2d
nIndex,
nLength,
std::move(aNewDXArray),
+ std::move(aNewKashidaArray),
mrSource.getFontAttribute(),
mrSource.getLocale(),
mrSource.getFontColor()));
@@ -261,14 +271,14 @@ namespace drawinglayer::primitive2d
mxResult = aTempResult;
}
- const Primitive2DContainer& TextBreakupHelper::getResult(BreakupUnit aBreakupUnit) const
+ Primitive2DContainer TextBreakupHelper::extractResult(BreakupUnit aBreakupUnit)
{
if(mxResult.empty())
{
- const_cast< TextBreakupHelper* >(this)->breakup(aBreakupUnit);
+ breakup(aBreakupUnit);
}
- return mxResult;
+ return std::move(mxResult);
}
} // end of namespace