Make font label scale a per axis property

This way the partial pressure graph can have smaller pressure labels than
all the other labels on the profile.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2014-02-15 11:15:57 -08:00
parent 980737221d
commit 6be62c1d90
3 changed files with 20 additions and 3 deletions

View file

@ -20,7 +20,8 @@ static QPen gridPen(){
return pen;
}
void DiveCartesianAxis::setup(double minimum, double maximum, double interval, DiveCartesianAxis::Orientation o, qreal tick_size, const QPointF& pos)
void DiveCartesianAxis::setup(double minimum, double maximum, double interval, double labelFontScale,
DiveCartesianAxis::Orientation o, qreal tick_size, const QPointF& pos)
{
setMinimum(minimum);
setMaximum(maximum);
@ -28,6 +29,7 @@ void DiveCartesianAxis::setup(double minimum, double maximum, double interval, D
setOrientation(o);
setTickSize(tick_size);
setPos(pos);
setFontLabelScale(labelFontScale);
}
double DiveCartesianAxis::tickInterval() const
@ -40,6 +42,11 @@ double DiveCartesianAxis::tickSize() const
return tick_size;
}
void DiveCartesianAxis::setFontLabelScale(qreal scale)
{
labelScale = scale;
}
void DiveCartesianAxis::setMaximum(double maximum)
{
if (IS_FP_SAME(max, maximum))
@ -67,6 +74,7 @@ DiveCartesianAxis::DiveCartesianAxis() : QObject(),
min(0),
max(0),
interval(1),
labelScale(1.0),
tick_size(0),
textVisibility(true)
{
@ -164,7 +172,7 @@ void DiveCartesianAxis::updateTicks()
label->setText(textForValue(currValue));
label->setBrush(QBrush(textColor));
label->setBrush(colorForValue(currValue));
label->setScale(0.8);
label->setScale(fontLabelScale());
labels.push_back(label);
if (orientation == RightToLeft || orientation == LeftToRight) {
label->setAlignment(Qt::AlignBottom | Qt::AlignHCenter);
@ -262,6 +270,11 @@ double DiveCartesianAxis::minimum() const
return min;
}
double DiveCartesianAxis::fontLabelScale() const
{
return labelScale;
}
void DiveCartesianAxis::setColor(const QColor& color)
{
QPen defaultPen(color);