+ return QPoint(get_x(), rect.bottom());
+}
+
+QRectF TimeMarker::label_rect(const QRectF &rect) const
+{
+ QFontMetrics m(QApplication::font());
+ const QSizeF text_size(
+ max(m.boundingRect(get_text()).size().width(), ArrowSize),
+ m.height());
+ const QSizeF label_size(text_size + LabelPadding * 2);
+ const float top = rect.height() - label_size.height() -
+ TimeMarker::ArrowSize - 0.5f;
+ const float x = (time_ - view_.offset()) / view_.scale();
+
+ return QRectF(QPointF(x - label_size.width() / 2, top), label_size);
+}
+
+void TimeMarker::paint_label(QPainter &p, const QRect &rect, bool hover)
+{
+ if (!enabled())
+ return;
+