* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
+/**
+ * @class CustomRuler
+ * @author Jean-Baptiste Mardelle
+ * @brief Manages the timeline ruler.
+ */
+
#ifndef CUSTOMRULER_H
#define CUSTOMRULER_H
Q_OBJECT
public:
- CustomRuler(Timecode tc, CustomTrackView *parent);
+ CustomRuler(const Timecode &tc, CustomTrackView *parent);
void setPixelPerMark(int rate);
static const int comboScale[];
int outPoint() const;
int inPoint() const;
void setDuration(int d);
- void setZone(QPoint p);
+ void setZone(const QPoint &p);
int offset() const;
- void updateProjectFps(Timecode t);
-
+ void updateProjectFps(const Timecode &t);
+ void updateFrameSize();
+ void updatePalette();
+
protected:
- virtual void paintEvent(QPaintEvent * /*e*/);
- virtual void wheelEvent(QWheelEvent * e);
- virtual void mousePressEvent(QMouseEvent * event);
- virtual void mouseReleaseEvent(QMouseEvent * event);
- virtual void mouseMoveEvent(QMouseEvent * event);
+ void paintEvent(QPaintEvent * /*e*/);
+ void wheelEvent(QWheelEvent * e);
+ void mousePressEvent(QMouseEvent * event);
+ void mouseReleaseEvent(QMouseEvent * event);
+ void mouseMoveEvent(QMouseEvent * event);
+ void leaveEvent(QEvent * event);
private:
Timecode m_timecode;
int m_zoneStart;
int m_zoneEnd;
int m_duration;
- QColor m_bgColor;
- QColor m_cursorColor;
QColor m_zoneColor;
double m_textSpacing;
double m_factor;
double m_scale;
int m_offset;
+ int m_lastSeekPosition;
RULER_MOVE m_moveCursor;
QMenu *m_contextMenu;
QAction *m_editGuide;
int m_rate;
int m_startRate;
MOUSE_MOVE m_mouseMove;
+ QMenu *m_goMenu;
+ QBrush m_cursorColor;
public slots:
void slotMoveRuler(int newPos);
void slotCursorMoved(int oldpos, int newpos);
+ void updateRuler();
private slots:
void slotEditGuide();
void slotDeleteGuide();
+ void slotGoToGuide(QAction *act);
signals:
void zoneMoved(int, int);
void adjustZoom(int);
+ void mousePosition(int);
};
#endif