summaryrefslogtreecommitdiff
path: root/chart2/source/view/axes/Tickmarks_Equidistant.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'chart2/source/view/axes/Tickmarks_Equidistant.cxx')
-rw-r--r--chart2/source/view/axes/Tickmarks_Equidistant.cxx27
1 files changed, 16 insertions, 11 deletions
diff --git a/chart2/source/view/axes/Tickmarks_Equidistant.cxx b/chart2/source/view/axes/Tickmarks_Equidistant.cxx
index 60f6e63311ad..c1991fb3ba6e 100644
--- a/chart2/source/view/axes/Tickmarks_Equidistant.cxx
+++ b/chart2/source/view/axes/Tickmarks_Equidistant.cxx
@@ -23,6 +23,7 @@
#include <float.h>
#include <limits>
+#include <utility>
namespace chart
{
@@ -70,9 +71,9 @@ double EquidistantTickFactory::getMaximumAtIncrement( double fMax, const Explici
}
EquidistantTickFactory::EquidistantTickFactory(
- const ExplicitScaleData& rScale, const ExplicitIncrementData& rIncrement )
- : m_rScale( rScale )
- , m_rIncrement( rIncrement )
+ ExplicitScaleData aScale, ExplicitIncrementData aIncrement )
+ : m_rScale(std::move( aScale ))
+ , m_rIncrement(std::move( aIncrement ))
{
//@todo: make sure that the scale is valid for the scaling
@@ -105,7 +106,7 @@ EquidistantTickFactory::EquidistantTickFactory(
m_fOuterMajorTickBorderMin_Scaled = m_fOuterMajorTickBorderMin;
m_fOuterMajorTickBorderMax_Scaled = m_fOuterMajorTickBorderMax;
- if(!(!m_rIncrement.PostEquidistant && m_xInverseScaling.is()) )
+ if(m_rIncrement.PostEquidistant || !m_xInverseScaling.is())
return;
m_fOuterMajorTickBorderMin_Scaled = m_rScale.Scaling->doScaling(m_fOuterMajorTickBorderMin);
@@ -150,6 +151,7 @@ void EquidistantTickFactory::addSubTicks( sal_Int32 nDepth, uno::Sequence< uno::
return;
uno::Sequence< double > aSubTicks(nMaxSubTickCount);
+ auto pSubTicks = aSubTicks.getArray();
sal_Int32 nRealSubTickCount = 0;
sal_Int32 nIntervalCount = m_rIncrement.SubIncrements[nDepth-1].IntervalCount;
@@ -163,13 +165,13 @@ void EquidistantTickFactory::addSubTicks( sal_Int32 nDepth, uno::Sequence< uno::
if(!pValue)
continue;
- aSubTicks[nRealSubTickCount] = *pValue;
+ pSubTicks[nRealSubTickCount] = *pValue;
nRealSubTickCount++;
}
}
aSubTicks.realloc(nRealSubTickCount);
- rParentTicks[nDepth] = aSubTicks;
+ rParentTicks.getArray()[nDepth] = aSubTicks;
if(static_cast<sal_Int32>(m_rIncrement.SubIncrements.size())>nDepth)
addSubTicks( nDepth+1, rParentTicks );
}
@@ -317,7 +319,9 @@ void EquidistantTickFactory::getAllTicks( TickInfoArraysType& rAllTickInfos ) co
return;
uno::Sequence< uno::Sequence< double > > aAllTicks(nDepthCount);
- aAllTicks[0].realloc(nMaxMajorTickCount);
+ auto pAllTicks = aAllTicks.getArray();
+ pAllTicks[0].realloc(nMaxMajorTickCount);
+ auto pAllTicks0 = pAllTicks[0].getArray();
sal_Int32 nRealMajorTickCount = 0;
for( sal_Int32 nMajorTick=0; nMajorTick<nMaxMajorTickCount; nMajorTick++ )
@@ -325,12 +329,12 @@ void EquidistantTickFactory::getAllTicks( TickInfoArraysType& rAllTickInfos ) co
double* pValue = getMajorTick( nMajorTick );
if(!pValue)
continue;
- aAllTicks[0][nRealMajorTickCount] = *pValue;
+ pAllTicks0[nRealMajorTickCount] = *pValue;
nRealMajorTickCount++;
}
if(!nRealMajorTickCount)
return;
- aAllTicks[0].realloc(nRealMajorTickCount);
+ pAllTicks[0].realloc(nRealMajorTickCount);
addSubTicks(1, aAllTicks);
@@ -350,7 +354,7 @@ void EquidistantTickFactory::getAllTicks( TickInfoArraysType& rAllTickInfos ) co
if( m_rIncrement.SubIncrements[nN].IntervalCount>1 )
nCheckCount *= m_rIncrement.SubIncrements[nN].IntervalCount;
}
- uno::Sequence< double >& rTicks = aAllTicks[nDepth];
+ uno::Sequence< double >& rTicks = pAllTicks[nDepth];
sal_Int32 nCount = rTicks.getLength();
//check lower border
for( nTick=0; nTick<nCheckCount && nTick<nCount; nTick++)
@@ -377,8 +381,9 @@ void EquidistantTickFactory::getAllTicks( TickInfoArraysType& rAllTickInfos ) co
uno::Sequence< double > aOldTicks(rTicks);
rTicks.realloc(nNewCount);
+ auto pTicks = rTicks.getArray();
for(nTick = 0; nTick<nNewCount; nTick++)
- rTicks[nTick] = aOldTicks[nInvisibleAtLowerBorder+nTick];
+ pTicks[nTick] = aOldTicks[nInvisibleAtLowerBorder+nTick];
}
}