//painter->drawText(rect(), Qt::AlignCenter, m_name);
// painter->drawRect(boundingRect());
//painter->drawRoundRect(-10, -10, 20, 20);
+ painter->setPen(QPen(Qt::black));
+ painter->setBrush(QBrush(Qt::yellow));
+ painter->drawEllipse(br.x() + 10, br.y() + br.height() / 2 - 5 , 10, 10);
+ painter->drawEllipse(br.x() + br.width() - 20, br.y() + br.height() / 2 - 5, 10, 10);
}
else if (abs(pos.x() - rect().x()) < 6) return RESIZESTART;
else if (abs(pos.x() - (rect().x() + rect().width() - scale * m_endFade)) < 6 && abs(pos.y() - rect().y()) < 6) return FADEOUT;
else if (abs(pos.x() - (rect().x() + rect().width())) < 6) return RESIZEEND;
+ else if (abs(pos.x() - (rect().x() + 10)) < 6 && abs(pos.y() - (rect().y() + rect().height() / 2 - 5)) < 6) return TRANSITIONSTART;
+ else if (abs(pos.x() - (rect().x() + rect().width() - 20)) < 6 && abs(pos.y() - (rect().y() + rect().height() / 2 - 5)) < 6) return TRANSITIONEND;
return MOVE;
}
m_animationTimer->start();
}
setCursor(Qt::PointingHandCursor);
+ } else if (opMode == TRANSITIONSTART) {
+ if (m_visualTip == NULL) {
+ m_visualTip = new QGraphicsEllipseItem(-5, -5 , 10, 10);
+ ((QGraphicsEllipseItem*) m_visualTip)->setBrush(m_tipColor);
+ ((QGraphicsEllipseItem*) m_visualTip)->setPen(m_tipPen);
+ m_visualTip->setZValue(100);
+ m_animation = new QGraphicsItemAnimation;
+ m_animation->setItem(m_visualTip);
+ m_animation->setTimeLine(m_animationTimer);
+ m_visualTip->setPos(clip->rect().x() + 15, clip->rect().y() + clip->rect().height() / 2);
+ double scale = 2.0;
+ m_animation->setScaleAt(.5, scale, scale);
+ scale = 1.0;
+ m_animation->setScaleAt(1, scale, scale);
+ scene()->addItem(m_visualTip);
+ m_animationTimer->start();
+ }
+ setCursor(Qt::PointingHandCursor);
+ } else if (opMode == TRANSITIONEND) {
+ if (m_visualTip == NULL) {
+ m_visualTip = new QGraphicsEllipseItem(-5, -5 , 10, 10);
+ ((QGraphicsEllipseItem*) m_visualTip)->setBrush(m_tipColor);
+ ((QGraphicsEllipseItem*) m_visualTip)->setPen(m_tipPen);
+ m_visualTip->setZValue(100);
+ m_animation = new QGraphicsItemAnimation;
+ m_animation->setItem(m_visualTip);
+ m_animation->setTimeLine(m_animationTimer);
+ m_visualTip->setPos(clip->rect().x() + clip->rect().width() - 15 , clip->rect().y() + clip->rect().height() / 2);
+ double scale = 2.0;
+ m_animation->setScaleAt(.5, scale, scale);
+ scale = 1.0;
+ m_animation->setScaleAt(1, scale, scale);
+ scene()->addItem(m_visualTip);
+ m_animationTimer->start();
+ }
+ setCursor(Qt::PointingHandCursor);
}
} else {
m_moveOpMode = NONE;
#define FRAME_SIZE 90
#define MAXCLIPDURATION 15000
-enum OPERATIONTYPE { NONE = 0, MOVE = 1, RESIZESTART = 2, RESIZEEND = 3, FADEIN = 4, FADEOUT = 5};
+enum OPERATIONTYPE { NONE = 0, MOVE = 1, RESIZESTART = 2, RESIZEEND = 3, FADEIN = 4, FADEOUT = 5, TRANSITIONSTART = 6, TRANSITIONEND = 7};
enum CLIPTYPE { UNKNOWN = 0, AUDIO = 1, VIDEO = 2, AV = 3, COLOR = 4, IMAGE = 5, TEXT = 6, SLIDESHOW = 7, VIRTUAL = 8, PLAYLIST = 9};
struct MltVideoProfile {