namespace view {
const int TimeMarker::ArrowSize = 4;
-const int TimeMarker::Offset = 1;
TimeMarker::TimeMarker(View &view, const QColor &colour, double time) :
TimeItem(view),
updating_value_widget_ = false;
}
- time_changed();
+ view_.time_item_appearance_changed(true, true);
}
float TimeMarker::get_x() const
QFontMetrics m(QApplication::font());
const float text_width =
max(m.boundingRect(get_text()).size().width(), ArrowSize);
- const float text_height = m.boundingRect("Tg").size().height();
+ const float text_height = m.height();
const QSizeF label_size(
- text_width + View::LabelPadding.width() * 2,
- text_height + View::LabelPadding.height() * 2);
+ text_width + LabelPadding.width() * 2,
+ text_height + LabelPadding.height() * 2);
const float top = rect.height() - label_size.height() -
- TimeMarker::Offset - TimeMarker::ArrowSize - 0.5f;
+ TimeMarker::ArrowSize - 0.5f;
const float height = label_size.height();
return QRectF(x - label_size.width() / 2, top,
label_size.width(), height);
}
-void TimeMarker::paint_label(QPainter &p, const QRect &rect)
+void TimeMarker::paint_label(QPainter &p, const QRect &rect, bool hover)
{
if (!enabled())
return;
}
p.setPen(Qt::transparent);
- p.setBrush(colour_);
+ p.setBrush(hover ? colour_.lighter() : colour_);
p.drawPolygon(points, countof(points));
p.setPen(colour_.lighter());
void TimeMarker::on_value_changed(double value)
{
- if (!updating_value_widget_) {
- time_ = value;
- time_changed();
- }
+ if (!updating_value_widget_)
+ set_time(value);
}
} // namespace view