X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Ftransition.cpp;h=f10befc4537d01daabc2e52a708a02848f08d265;hb=57fe61218c3ecab2c5c18bc8e81b55823691540b;hp=d9e931d2d9c3cefa920fdc772b1b75b80f8229b6;hpb=a1f0a54b93ab364a37fd8242c1881c61d066ada7;p=kdenlive diff --git a/src/transition.cpp b/src/transition.cpp index d9e931d2..f10befc4 100644 --- a/src/transition.cpp +++ b/src/transition.cpp @@ -136,17 +136,6 @@ void Transition::setTransitionParameters(const QDomElement params) update(); } - -bool Transition::invertedTransition() const -{ - return false; //m_parameters.attribute("reverse").toInt(); -} - -void Transition::setTransitionDirection(bool /*inv*/) -{ - //m_parameters.setAttribute("reverse", inv); -} - int Transition::transitionEndTrack() const { return m_transitionTrack; @@ -172,22 +161,26 @@ void Transition::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget */*widget*/) { - const QRectF exposed = option->exposedRect; - painter->setClipRect(exposed); + const QRectF exposed = painter->worldTransform().mapRect(option->exposedRect); const QRectF br = rect(); QPen framePen; + framePen.setWidthF(1.2); const QRectF mapped = painter->worldTransform().mapRect(br); - painter->fillRect(exposed, brush()); - QPointF p1(br.x(), br.y() + br.height() / 2 - 7); painter->setWorldMatrixEnabled(false); + QPainterPath p; + p.addRect(exposed); + QPainterPath q; + q.addRoundedRect(mapped.adjusted(0, 0, -1, -1), 3, 3); + painter->setClipPath(p.intersected(q)); + painter->fillRect(exposed, brush()); const QString text = m_name + (m_forceTransitionTrack ? "|>" : QString()); // Draw clip name if (isSelected() || (parentItem() && parentItem()->isSelected())) { - framePen.setColor(Qt::red); - framePen.setWidthF(2.0); + framePen.setColor(scene()->palette().highlight().color()); + framePen.setColor(Qt::red); } else { framePen.setColor(brush().color().darker()); @@ -205,7 +198,8 @@ void Transition::paint(QPainter *painter, // Draw frame painter->setPen(framePen); painter->setClipping(false); - painter->drawRect(mapped.adjusted(0, 0, -0.5, -0.5)); + painter->setRenderHint(QPainter::Antialiasing, true); + painter->drawRoundedRect(mapped.adjusted(0, 0, -0.5, -0.5), 3, 3); } int Transition::type() const @@ -335,16 +329,6 @@ Transition *Transition::clone() { return new Transition::Transition(rect(), m_referenceClip, toXML() , m_fps); }*/ -/* -Transition *Transition::reparent(ClipItem * clip) { - return new Transition::Transition(rect(), clip, toXML(), m_fps, m_referenceClip->startPos()); -}*/ - -bool Transition::isValid() const -{ - return true; //(m_transitionDuration != GenTime()); -} - const ClipItem *Transition::referencedClip() const { return m_referenceClip; @@ -398,7 +382,7 @@ bool Transition::updateKeyframes() } if (keyframes.isEmpty()) return false; int duration = cropDuration().frames(m_fps) - 1; - QStringList values = keyframes.split(";"); + QStringList values = keyframes.split(';'); int frame; int i = 0; foreach(const QString &pos, values) {