p.setRenderHint(QPainter::Antialiasing);
const double tick_period = view_.tick_period();
- const unsigned int prefix = view_.tick_prefix();
// Draw the tick marks
p.setPen(palette().color(foregroundRole()));
const double minor_tick_period = tick_period / MinorTickSubdivision;
- const double first_major_division =
+ const pv::util::Timestamp first_major_division =
floor(view_.offset() / tick_period);
- const double first_minor_division =
+ const pv::util::Timestamp first_minor_division =
ceil(view_.offset() / minor_tick_period);
- const double t0 = first_major_division * tick_period;
+ const pv::util::Timestamp t0 = first_major_division * tick_period;
- int division = (int)round(first_minor_division -
- first_major_division * MinorTickSubdivision) - 1;
+ int division = (round(first_minor_division -
+ first_major_division * MinorTickSubdivision)).convert_to<int>() - 1;
const int text_height = calculate_text_height();
const int ruler_height = RulerHeight * text_height;
double x;
do {
- const double t = t0 + division * minor_tick_period;
- x = (t - view_.offset()) / view_.scale();
+ const pv::util::Timestamp t = t0 + division * minor_tick_period;
+ x = ((t - view_.offset()) / view_.scale()).convert_to<double>();
if (division % MinorTickSubdivision == 0)
{
// Draw a major tick
p.drawText(x, ValueMargin, 0, text_height,
AlignCenter | AlignTop | TextDontClip,
- pv::util::format_time(t, prefix));
+ util::format_time(t, view_.tick_prefix(), view_.time_unit(),
+ view_.tick_precision()));
p.drawLine(QPointF(x, major_tick_y1),
QPointF(x, ruler_height));
}
}
division++;
-
} while (x < width());
// Draw the hover mark