]> git.sesse.net Git - kdenlive/blob - src/graphicsscenerectmove.h
title improvements (bold, italic, move items with arrow keys)
[kdenlive] / src / graphicsscenerectmove.h
1 #ifndef GRAPHICSVIEWRECTMOVE_H
2 #define GRAPHICSVIEWRECTMOVE_H
3
4 #include <QGraphicsScene>
5
6 enum resizeModes {NoResize, TopLeft, BottomLeft, TopRight, BottomRight, Left, Right, Up, Down};
7
8 class GraphicsSceneRectMove: public QGraphicsScene {
9     Q_OBJECT
10 public:
11     GraphicsSceneRectMove(QObject* parent = 0);
12
13     void setSelectedItem(QGraphicsItem *item);
14     void setScale(double s);
15     void setZoom(double s);
16
17 protected:
18     virtual void keyPressEvent(QKeyEvent * keyEvent);
19     virtual void mousePressEvent(QGraphicsSceneMouseEvent*);
20     virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent* e);
21     virtual void mouseMoveEvent(QGraphicsSceneMouseEvent*);
22     virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent*);
23     virtual void wheelEvent(QGraphicsSceneWheelEvent * wheelEvent);
24
25 private:
26     void setCursor(QCursor);
27     double zoom;
28     QGraphicsItem* m_selectedItem;
29     resizeModes resizeMode;
30     QPointF m_clickPoint;
31
32 signals:
33     void itemMoved();
34     void sceneZoom(bool);
35 };
36
37 #endif