]> git.sesse.net Git - kdenlive/blobdiff - src/geometryval.h
Fix issues with DVD wizard, allow to loop menu movie
[kdenlive] / src / geometryval.h
index aae18c52131d6adecd0d07cffecaf56046ebf102..ac2672d81bfa45f07fd0618f37e039815c01b4d2 100644 (file)
 #include <QWidget>
 #include <QDomElement>
 #include <QGraphicsPathItem>
+#include <QGraphicsView>
 
 #include <mlt++/Mlt.h>
 
 #include "ui_geometryval_ui.h"
 #include "definitions.h"
 #include "keyframehelper.h"
+#include "ui_geometryposition_ui.h"
 
 //class QGraphicsScene;
 class GraphicsSceneRectMove;
@@ -35,42 +37,52 @@ class QGraphicsRectItem;
 class QMouseEvent;
 
 
-class Geometryval : public QWidget {
+class Geometryval : public QWidget, public Ui::Geometryval
+{
     Q_OBJECT
 public:
-    explicit Geometryval(const MltVideoProfile profile, QWidget* parent = 0);
+    explicit Geometryval(const MltVideoProfile profile, QPoint frame_size, QWidget* parent = 0);
+    virtual ~Geometryval();
     QDomElement getParamDesc();
+    QString getValue() const;
+    void setFrameSize(QPoint p);
 
 private:
-    Ui::Geometryval ui;
     MltVideoProfile m_profile;
-    //QGraphicsScene* scene;
-    GraphicsSceneRectMove *scene;
-    QDomElement param;
-    QGraphicsRectItem *paramRect;
+    int m_realWidth;
+    GraphicsSceneRectMove *m_scene;
+    QGraphicsRectItem *m_paramRect;
     Mlt::Geometry *m_geom;
     KeyframeHelper *m_helper;
     QGraphicsPathItem *m_path;
+    QMenu *m_configMenu;
     QMenu *m_scaleMenu;
     QMenu *m_alignMenu;
     QAction *m_syncAction;
+    QAction *m_editGeom;
     bool m_fixedMode;
+    QPoint m_frameSize;
+    Ui::GeometryPosition_UI m_view;
     void updateTransitionPath();
+    double m_dar;
+    QGraphicsView *m_sceneview;
 
 public slots:
-    void setupParam(const QDomElement&, int, int);
+    void setupParam(const QDomElement, int, int);
 
 private slots:
     void slotNextFrame();
     void slotPreviousFrame();
     void slotPositionChanged(int pos, bool seek = true);
-    void slotDeleteFrame();
-    void slotAddFrame();
+    void slotDeleteFrame(int pos = -1);
+    void slotAddFrame(int pos = -1);
     void slotUpdateTransitionProperties();
     void slotTransparencyChanged(int transp);
     void slotResize50();
     void slotResize100();
     void slotResize200();
+    void slotResizeCustom();
+    void slotResizeOriginal();
     void slotAlignRight();
     void slotAlignLeft();
     void slotAlignTop();
@@ -79,6 +91,9 @@ private slots:
     void slotAlignHCenter();
     void slotAlignVCenter();
     void slotSyncCursor();
+    void slotGeometry();
+    void slotResetPosition();
+    void slotKeyframeMoved(int);
 
 signals:
     void parameterChanged();