1 /***************************************************************************
2 geomeytrval.h - description
5 copyright : (C) 2008 by Marco Gittler
6 email : g.marco@freenet.de
7 ***************************************************************************/
9 /***************************************************************************
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
16 ***************************************************************************/
23 #include <QDomElement>
24 #include <QGraphicsPathItem>
26 #include <mlt++/Mlt.h>
28 #include "ui_geometryval_ui.h"
29 #include "definitions.h"
30 #include "keyframehelper.h"
31 #include "ui_geometryposition_ui.h"
33 //class QGraphicsScene;
34 class GraphicsSceneRectMove;
35 class QGraphicsRectItem;
39 class Geometryval : public QWidget
43 explicit Geometryval(const MltVideoProfile profile, QPoint frame_size, QWidget* parent = 0);
44 QDomElement getParamDesc();
45 void setFrameSize(QPoint p);
49 MltVideoProfile m_profile;
50 //QGraphicsScene* scene;
51 GraphicsSceneRectMove *m_scene;
53 QGraphicsRectItem *m_paramRect;
54 Mlt::Geometry *m_geom;
55 KeyframeHelper *m_helper;
56 QGraphicsPathItem *m_path;
59 QAction *m_syncAction;
62 void updateTransitionPath();
63 Ui::GeometryPosition_UI *m_view;
66 void setupParam(const QDomElement&, int, int);
70 void slotPreviousFrame();
71 void slotPositionChanged(int pos, bool seek = true);
72 void slotDeleteFrame();
74 void slotUpdateTransitionProperties();
75 void slotTransparencyChanged(int transp);
79 void slotResizeCustom();
80 void slotResizeOriginal();
81 void slotAlignRight();
84 void slotAlignBottom();
85 void slotAlignCenter();
86 void slotAlignHCenter();
87 void slotAlignVCenter();
88 void slotSyncCursor();
90 void slotResetPosition();
93 void parameterChanged();