]> git.sesse.net Git - kdenlive/blobdiff - src/titledocument.h
Integrate with the required MLT hooks for getting Movit to work.
[kdenlive] / src / titledocument.h
index e673cc6044a8396885d2ca085198996e23d04371..d73760a06ba9779722cd39dd3f3ecad219e7ef8e 100644 (file)
 #include <KUrl>
 
 class QGraphicsScene;
-class QGraphicsPolygonItem;
+class QGraphicsRectItem;
+class QGraphicsItem;
+
+const int ROTATEFACTOR = 103;
+const int ZOOMFACTOR = 104;
 
 class TitleDocument
 {
-    QGraphicsScene* m_scene;
+
 public:
     TitleDocument();
-    void setScene(QGraphicsScene* scene);
-    bool saveDocument(const KUrl& url, QGraphicsPolygonItem* startv, QGraphicsPolygonItem* endv);
-    int loadDocument(const KUrl& url, QGraphicsPolygonItem* startv, QGraphicsPolygonItem* endv);
-    QDomDocument xml(QGraphicsPolygonItem* startv, QGraphicsPolygonItem* endv);
-    int loadFromXml(QDomDocument doc, QGraphicsPolygonItem* startv, QGraphicsPolygonItem* endv);
+    void setScene(QGraphicsScene* scene, int width, int height);
+    bool saveDocument(const KUrl& url, QGraphicsRectItem* startv, QGraphicsRectItem* endv, int duration, bool embed_images = false);
+    QDomDocument xml(QGraphicsRectItem* startv, QGraphicsRectItem* endv, bool embed_images = false);
+    int loadFromXml(const QDomDocument& doc, QGraphicsRectItem* startv, QGraphicsRectItem* endv, int *duration, const QString& projectpath = QString());
     /** \brief Get the background color (incl. alpha) from the document, if possibly
      * \returns The background color of the document, inclusive alpha. If none found, returns (0,0,0,0) */
-    QColor getBackgroundColor();
-       
-       static const int OriginXLeft = 0;
-       static const int OriginYTop = 1;
-       
-       static const int AxisDefault = 0;
-       static const int AxisInverted = 1;
+    QColor getBackgroundColor() const;
+    int frameWidth() const;
+    int frameHeight() const;
+    /** \brief Extract embeded images in project titles folder. */
+    static const QString extractBase64Image(const QString &titlePath, const QString &data);
+
+    enum ItemOrigin {OriginXLeft = 0, OriginYTop = 1};
+    enum AxisPosition {AxisDefault = 0, AxisInverted = 1};
 
 private:
+    QGraphicsScene* m_scene;
+    QString m_projectPath;
+    int m_width;
+    int m_height;
     QString colorToString(const QColor&);
     QString rectFToString(const QRectF&);
     QRectF stringToRect(const QString &);
     QColor stringToColor(const QString &);
     QTransform stringToTransform(const QString &);
+    QList<QVariant> stringToList(const QString &);
+    int base64ToUrl(QGraphicsItem* item, QDomElement& content, bool embed);
 };
 
 #endif