X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fgeometrywidget.h;h=65681b31f2060be2616d4207df3a5d53791a7dae;hb=e5eaf495869c7fa711e703eb8264435d86d17c57;hp=ca9b995c6c553971f966c2fe63fac8e17d1e7d39;hpb=ae95888e13787b40b343d2a77d1c6ab0cbd8a1cb;p=kdenlive diff --git a/src/geometrywidget.h b/src/geometrywidget.h index ca9b995c..65681b31 100644 --- a/src/geometrywidget.h +++ b/src/geometrywidget.h @@ -45,16 +45,20 @@ public: * @param timecode Timecode needed by timecode display widget * @param clipPos Position of the clip in timeline * @param isEffect true if used in an effect, false if used in a transition + * @param showRotation Should we show or hide the rotation sliders * @param parent (optional) Parent widget */ - GeometryWidget(Monitor *monitor, Timecode timecode, int clipPos, bool isEffect, QWidget* parent = 0); + GeometryWidget(Monitor *monitor, Timecode timecode, int clipPos, bool isEffect, bool showRotation, QWidget* parent = 0); virtual ~GeometryWidget(); /** @brief Gets the geometry as a serialized string. */ QString getValue() const; + QString getExtraValue(const QString &name) const; /** @brief Updates the timecode display according to settings (frame number or hh:mm:ss:ff) */ void updateTimecodeFormat(); /** @brief Sets the size of the original clip. */ void setFrameSize(QPoint size); + void addParameter(const QDomElement elem); + public slots: /** @brief Sets up the rect and the geometry object. * @param elem DomElement representing this effect parameter @@ -83,6 +87,9 @@ private: KeyframeHelper *m_timeline; /** Stores the different settings in the MLT geometry format. */ Mlt::Geometry *m_geometry; + QStringList m_extraGeometryNames; + QStringList m_extraFactors; + QList m_extraGeometries; bool m_showScene; DragValue *m_spinX; DragValue *m_spinY; @@ -90,7 +97,11 @@ private: DragValue *m_spinHeight; DragValue *m_spinSize; DragValue *m_opacity; + DragValue *m_rotateX; + DragValue *m_rotateY; + DragValue *m_rotateZ; QPoint m_frameSize; + bool m_showRotation; /** @brief Update monitor rect with current width / height values. */ void updateMonitorGeometry(); @@ -127,19 +138,19 @@ private slots: void slotUpdateProperties(); /** @brief Sets the rect's x position to @param value. */ - void slotSetX(int value); + void slotSetX(double value); /** @brief Sets the rect's y position to @param value. */ - void slotSetY(int value); + void slotSetY(double value); /** @brief Sets the rect's width to @param value. */ - void slotSetWidth(int value); + void slotSetWidth(double value); /** @brief Sets the rect's height to @param value. */ - void slotSetHeight(int value); + void slotSetHeight(double value); /** @brief Resizes the rect by @param value (in perecent) compared to the frame size. */ void slotResize(double value); /** @brief Sets the opacity to @param value. */ - void slotSetOpacity(int value); + void slotSetOpacity(double value); /** @brief Moves the rect to the left frame border (x position = 0). */ void slotMoveLeft();