#include <QGraphicsView>
#include <QScrollBar>
-Guide::Guide(CustomTrackView *view, GenTime pos, QString label, double height) :
+Guide::Guide(CustomTrackView *view, const GenTime &pos, const QString &label, double height) :
QGraphicsLineItem(),
m_position(pos),
m_label(label),
if (KdenliveSettings::showmarkers() && scene() && scene()->views().count()) {
QPointF p1 = line().p1();
const QFontMetrics metric = m_view->fontMetrics();
-
+ painter->setClipRect(option->rect);
// makes sure the text stays visible when scrolling vertical
int offset = scene()->views()[0]->verticalScrollBar()->value();
QRectF txtBounding = painter->boundingRect(p1.x(), p1.y() + offset, m_width, metric.height(), Qt::AlignLeft | Qt::AlignTop, m_label);
- // draw the text on a rect with a arc appended
- QPainterPath path;
- path.moveTo(txtBounding.bottomRight());
- path.arcTo(txtBounding.right() - txtBounding.height() - 2, txtBounding.top() - txtBounding.height(), txtBounding.height() * 2, txtBounding.height() * 2, 270, 90);
- path.lineTo(txtBounding.topLeft());
- path.lineTo(txtBounding.bottomLeft());
- painter->fillPath(path, m_pen.color());
+ painter->setBrush(QBrush(m_pen.color()));
+ painter->drawRoundedRect(txtBounding.adjusted(-5, -5, 2, 1), 3, 3);
painter->setPen(Qt::white);
painter->drawText(txtBounding.adjusted(1, 0, 1, 0), Qt::AlignCenter, m_label);
}