* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
-#include <KStandardDirs>
-
-#include "kdenlivedoc.h"
#include "customtrackscene.h"
+#include "kdenlivedoc.h"
+
+#include <KStandardDirs>
-CustomTrackScene::CustomTrackScene(KdenliveDoc *doc, QObject *parent)
- : QGraphicsScene(parent), m_document(doc), m_scale(1.0) {
- m_transitionPixmap = QPixmap(KStandardDirs::locate("appdata", "transition.png"));
+CustomTrackScene::CustomTrackScene(KdenliveDoc *doc, QObject *parent) :
+ QGraphicsScene(parent),
+ m_document(doc),
+ m_scale(1.0, 1.0),
+ m_editMode(NormalEdit)
+{
}
-CustomTrackScene::~CustomTrackScene() {
+CustomTrackScene::~CustomTrackScene()
+{
}
-double CustomTrackScene::getSnapPointForPos(double pos, bool doSnap) {
+double CustomTrackScene::getSnapPointForPos(double pos, bool doSnap)
+{
double maximumOffset;
if (doSnap) {
- if (m_scale > 3) maximumOffset = 10 / m_scale;
- else maximumOffset = 6 / m_scale;
+ if (m_scale.x() > 3) maximumOffset = 10 / m_scale.x();
+ else maximumOffset = 6 / m_scale.x();
for (int i = 0; i < m_snapPoints.size(); ++i) {
if (qAbs((int)(pos - m_snapPoints.at(i).frames(m_document->fps()))) < maximumOffset) {
return m_snapPoints.at(i).frames(m_document->fps());
}
- if (m_snapPoints.at(i).frames(m_document->fps()) > pos) break;
+ if (m_snapPoints.at(i).frames(m_document->fps()) > pos)
+ break;
}
}
return GenTime(pos, m_document->fps()).frames(m_document->fps());
}
-void CustomTrackScene::setSnapList(QList <GenTime> snaps) {
+void CustomTrackScene::setSnapList(const QList <GenTime>& snaps)
+{
m_snapPoints = snaps;
}
-GenTime CustomTrackScene::previousSnapPoint(GenTime pos) {
+GenTime CustomTrackScene::previousSnapPoint(const GenTime &pos) const
+{
for (int i = 0; i < m_snapPoints.size(); ++i) {
if (m_snapPoints.at(i) >= pos) {
- if (i == 0) i = 1;
+ if (i == 0) return GenTime();
return m_snapPoints.at(i - 1);
}
}
return GenTime();
}
-GenTime CustomTrackScene::nextSnapPoint(GenTime pos) {
+GenTime CustomTrackScene::nextSnapPoint(const GenTime &pos) const
+{
for (int i = 0; i < m_snapPoints.size(); ++i) {
if (m_snapPoints.at(i) > pos) {
return m_snapPoints.at(i);
return pos;
}
-void CustomTrackScene::setScale(double scale) {
- m_scale = scale;
+void CustomTrackScene::setScale(double scale, double vscale)
+{
+ m_scale.setX(scale);
+ m_scale.setY(vscale);
}
-double CustomTrackScene::scale() const {
+QPointF CustomTrackScene::scale() const
+{
return m_scale;
}
-int CustomTrackScene::tracksCount() const {
+int CustomTrackScene::tracksCount() const
+{
return m_document->tracksCount();
}
+MltVideoProfile CustomTrackScene::profile() const
+{
+ return m_document->mltProfile();
+}
+
+void CustomTrackScene::setEditMode(EditMode mode)
+{
+ m_editMode = mode;
+}
+
+EditMode CustomTrackScene::editMode() const
+{
+ return m_editMode;
+}
+
#include "customtrackscene.moc"