23#include <com/sun/star/drawing/PointSequenceSequence.hpp>
28namespace chart {
struct AxisProperties; }
29namespace chart {
struct TickmarkProperties; }
47 explicit TickInfo( css::uno::Reference<css::chart2::XScaling> xInverse );
112 , const ::basegfx::B2DVector& rStartScreenPos, const ::basegfx::B2DVector& rEndScreenPos
113 , const ::basegfx::B2DVector& rAxisLineToLabelLineShift );
121 , sal_Int32 nSequenceIndex
122 ,
double fScaledLogicTickValue,
double fInnerDirectionSign
125 ,
bool bIncludeFarAwayDistanceIfSo =
false
126 ,
bool bIncludeSpaceBetweenTickAndText =
true )
const;
virtual ~PureTickIter() override
TickInfoArrayType & m_rTickVector
PureTickIter(TickInfoArrayType &rTickInfoVector)
virtual TickInfo * nextInfo() override
virtual TickInfo * firstInfo() override
TickInfoArrayType::iterator m_aTickIter
::basegfx::B2DVector m_aAxisEndScreenPosition2D
::basegfx::B2DVector getTickScreenPosition2D(double fScaledLogicTickValue) const
static sal_Int32 getTickScreenDistance(TickIter &rIter)
bool isHorizontalAxis() const
const ::basegfx::B2DVector & getXaxisEndPos() const
void addPointSequenceForTickLine(css::drawing::PointSequenceSequence &rPoints, sal_Int32 nSequenceIndex, double fScaledLogicTickValue, double fInnerDirectionSign, const TickmarkProperties &rTickmarkProperties, bool bPlaceAtLabels) const
::basegfx::B2DVector m_aAxisStartScreenPosition2D
TickFactory2D(const ExplicitScaleData &rScale, const ExplicitIncrementData &rIncrement, const ::basegfx::B2DVector &rStartScreenPos, const ::basegfx::B2DVector &rEndScreenPos, const ::basegfx::B2DVector &rAxisLineToLabelLineShift)
::basegfx::B2DVector getDistanceAxisTickToText(const AxisProperties &rAxisProperties, bool bIncludeFarAwayDistanceIfSo=false, bool bIncludeSpaceBetweenTickAndText=true) const
double m_fStretch_LogicToScreen
bool isVerticalAxis() const
void updateScreenValues(TickInfoArraysType &rAllTickInfos) const
Determine the screen positions of all ticks based on their numeric values.
void createPointSequenceForAxisMainLine(css::drawing::PointSequenceSequence &rPoints) const
virtual ~TickFactory2D() override
::basegfx::B2DVector m_aAxisLineToLabelLineShift
double m_fOffset_LogicToScreen
const ::basegfx::B2DVector & getXaxisStartPos() const
double m_fScaledVisibleMax
double m_fScaledVisibleMin
ExplicitIncrementData m_rIncrement
css::uno::Reference< css::chart2::XScaling > m_xInverseScaling
ExplicitScaleData m_rScale
TickFactory(ExplicitScaleData aScale, ExplicitIncrementData aIncrement)
void getAllTicksShifted(TickInfoArraysType &rAllTickInfos) const
void getAllTicks(TickInfoArraysType &rAllTickInfos) const
virtual TickInfo * nextInfo()=0
virtual TickInfo * firstInfo()=0
std::vector< TickInfoArrayType > TickInfoArraysType
std::vector< TickInfo > TickInfoArrayType
describes how tickmarks are positioned on the scale of an axis.
This structure contains the explicit values for a scale like Minimum and Maximum.
TickInfo(css::uno::Reference< css::chart2::XScaling > xInverse)
double getUnscaledTickValue() const
Return a value associated with the tick mark.
sal_Int32 getScreenDistanceBetweenTicks(const TickInfo &rOherTickInfo) const
::basegfx::B2DVector aTickScreenPosition
sal_Int32 nFactorForLimitedTextWidth
css::uno::Reference< css::chart2::XScaling > xInverseScaling
rtl::Reference< SvxShapeText > xTextShape