]> git.sesse.net Git - kdenlive/blobdiff - src/titlewidget.h
* Add "Progressive" checkbox to allow users enabling or disabling progressive renderi...
[kdenlive] / src / titlewidget.h
index c6c9362bb8c82bf17612389bdac543e55295d0e5..866d737d55ca316d8ec7b023cbafc45fd171f6c7 100644 (file)
 #ifndef TITLEWIDGET_H
 #define TITLEWIDGET_H
 
-#include "ui_titlewidget_ui.h"
-#include "titledocument.h"
+
 #include <QDialog>
+
 #include <QMap>
 
-class Transform{
-       public:
-               Transform(){
-                       scalex=1.0;
-                       scaley=1.0;
-                       rotate=0.0;
-               }
-               double scalex,scaley;
-               double rotate;
+#include "ui_titlewidget_ui.h"
+#include "titledocument.h"
+#include "renderer.h"
+#include "graphicsscenerectmove.h"
+
+
+
+class Transform {
+public:
+    Transform() {
+        scalex = 1.0;
+        scaley = 1.0;
+        rotate = 0.0;
+    }
+    double scalex, scaley;
+    double rotate;
 };
 
-class TitleWidget : public QDialog , public Ui::TitleWidget_UI{
-       Q_OBJECT
+class TitleWidget : public QDialog , public Ui::TitleWidget_UI {
+    Q_OBJECT
+
 public:
-       TitleWidget(QDialog *parent=0);
+    TitleWidget(KUrl url, QString projectPath, Render *render, QWidget *parent = 0);
+    QDomDocument xml();
+    void setXml(QDomDocument doc);
+    static QStringList getFreeTitleInfo(const KUrl &projectUrl);
+    static QString getTitleResourceFromName(const KUrl &projectUrl, const QString &titleName);
+
+protected:
+    virtual void resizeEvent(QResizeEvent * event);
+
 private:
-       QGraphicsPolygonItem *startViewport,*endViewport;
-       void initViewports();
-       QMap<QGraphicsItem*,Transform > transformations;
-       TitleDocument m_titledocument;
+    QGraphicsPolygonItem *startViewport, *endViewport;
+    GraphicsSceneRectMove *m_scene;
+    void initViewports();
+    QMap<QGraphicsItem*, Transform > transformations;
+    TitleDocument m_titledocument;
+    QGraphicsRectItem *m_frameBorder;
+    QGraphicsPixmapItem *m_frameImage;
+    int m_frameWidth;
+    int m_frameHeight;
+    Render *m_render;
+    int m_count;
+    QAction *m_buttonRect;
+    QAction *m_buttonText;
+    QAction *m_buttonImage;
+    QAction *m_buttonCursor;
+    QAction *m_buttonSave;
+    QAction *m_buttonLoad;
+    /** project path for storing title clips */
+    QString m_projectPath;
+
 public slots:
-       void slotNewText();
-       void slotNewRect();
-       void slotChangeBackground();
-       void selectionChanged();
-       void textChanged();
-       void rectChanged();
-       void fontBold();
-       void setupViewports();
-       void zIndexChanged(int);
-       void svgSelected(const KUrl&);
-       void itemScaled(int);
-       void itemRotate(int);
-       void saveTitle();
-       void loadTitle();
+    void slotNewText(QGraphicsTextItem *tt);
+    void slotNewRect(QGraphicsRectItem *rect);
+    void slotChangeBackground();
+    void selectionChanged();
+    void textChanged();
+    void rectChanged();
+    void fontBold();
+    void setupViewports();
+    void zIndexChanged(int);
+    void itemScaled(int);
+    void itemRotate(int);
+    void itemHCenter();
+    void itemVCenter();
+    void saveTitle(KUrl url = KUrl());
+    void loadTitle();
+    QPixmap renderedPixmap();
+
+private slots:
+    void slotAdjustSelectedItem();
+    void slotUpdateZoom(int pos);
+    void slotZoom(bool up);
+    void slotAdjustZoom();
+    void slotZoomOneToOne();
+    void slotUpdateText();
+    void displayBackgroundFrame();
+    void setCurrentItem(QGraphicsItem *item);
+    void slotTextTool();
+    void slotRectTool();
+    void slotSelectTool();
+    void slotImageTool();
 };