]> git.sesse.net Git - kdenlive/blobdiff - src/transition.cpp
Images and SVG can now be added in titles through add image...
[kdenlive] / src / transition.cpp
index 867cd96427149500334b8564e602263e9d328175..3fedee13283e2f4fff3541fb5a329b39faabefba 100644 (file)
@@ -30,7 +30,7 @@
 #include "transition.h"
 #include "clipitem.h"
 #include "kdenlivesettings.h"
-
+#include "mainwindow.h"
 
 Transition::Transition(const ItemInfo info, int transitiontrack, double scale, double fps, QDomElement params) : AbstractClipItem(info, QRectF(info.startPos.frames(fps) *scale , info.track * KdenliveSettings::trackheight() + KdenliveSettings::trackheight() / 2, (info.endPos - info.startPos).frames(fps) * scale , KdenliveSettings::trackheight() - 1)) {
     m_singleClip = true;
@@ -38,12 +38,10 @@ Transition::Transition(const ItemInfo info, int transitiontrack, double scale, d
     m_secondClip = NULL;
     m_cropStart = GenTime();
     m_fps = fps;
-    m_cropDuration = m_maxDuration;
+    m_maxDuration = GenTime(10000, fps);
     //m_referenceClip = clipa;
     if (params.isNull()) {
-       QDomDocument doc;
-       doc.setContent(QString("<ktransition tag=\"luma\"><name>Luma</name><description>Luma Transitions</description><properties id=\"luma\" tag=\"luma\" /><parameter type=\"bool\" name=\"reverse\" max=\"1\" min=\"0\" default=\"1\" factor=\"1\"><name>Reverse</name></parameter></ktransition>"));
-       m_parameters = doc.documentElement();
+        m_parameters = MainWindow::transitions.getEffectByName("Luma");
     } else {
         m_parameters = params;
     }
@@ -80,12 +78,12 @@ bool Transition::invertedTransition() const {
 QPixmap Transition::transitionPixmap() const {
     KIcon icon;
     QString tag = transitionTag();
-    if ( tag == "luma") {
+    if (tag == "luma") {
         if (invertedTransition()) icon = KIcon("kdenlive_trans_up");
         else icon = KIcon("kdenlive_trans_down");
-    } else if ( tag == "composite") {
+    } else if (tag == "composite") {
         icon = KIcon("kdenlive_trans_wiper");
-    } else if ( tag == "lumafile") {
+    } else if (tag == "lumafile") {
         icon = KIcon("kdenlive_trans_luma");
     } else icon = KIcon("kdenlive_trans_pip");
     return icon.pixmap(QSize(15, 15));
@@ -115,8 +113,15 @@ void Transition::paint(QPainter *painter,
     QPainterPath resultClipPath = roundRectPathUpper.united(roundRectPathLower);
 
     painter->setClipPath(resultClipPath.intersected(clippath), Qt::IntersectClip);
-    //painter->fillPath(roundRectPath, brush()); //, QBrush(QColor(Qt::red)));
+#if 0
+    QRadialGradient radialGrad(QPointF(br.x() + 50, br.y() + 20), 70);
+    radialGrad.setColorAt(0, QColor(200, 200, 0, 100));
+    radialGrad.setColorAt(0.5, QColor(150, 150, 0, 100));
+    radialGrad.setColorAt(1, QColor(100, 100, 0, 100));
+    painter->fillRect(br.intersected(rectInView), QBrush(radialGrad)/*,Qt::Dense4Pattern*/);
+#else
     painter->fillRect(br.intersected(rectInView), QBrush(QColor(200, 200, 0, 160)/*,Qt::Dense4Pattern*/));
+#endif
     painter->setClipRect(option->exposedRect);
     painter->drawPixmap((int)(br.x() + 10), (int)(br.y() + 10), transitionPixmap());
     painter->drawPath(resultClipPath.intersected(clippath));