00001 #ifndef QT2DPIECE_HPP 00002 #define QT2DPIECE_HPP 00003 00004 #include <QGraphicsSvgItem> 00005 00006 #include <QGraphicsSceneDragDropEvent> 00007 00008 class Qt2DPiece : public QGraphicsSvgItem 00009 { 00010 Q_OBJECT 00011 00012 private: 00013 00014 int m_color; 00017 QPointF m_initialPos; 00018 QPointF m_initialPiecePos; 00019 QPointF m_offsetPos; 00020 00021 bool m_rightButton; 00023 protected: 00024 00025 void mousePressEvent(QGraphicsSceneMouseEvent *event); 00026 void mouseMoveEvent(QGraphicsSceneMouseEvent *event); 00027 void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); 00028 00029 public: 00034 explicit Qt2DPiece(const QString& fileName,int color, QGraphicsItem* parent=NULL); 00035 00038 ~Qt2DPiece(); 00039 00042 void reset(); 00043 00046 int color()const { return m_color; } 00047 00048 Q_SIGNAL void pieceMoved(QPointF start, QPointF end, int color); 00049 Q_SIGNAL void requestHelper(QPointF pos, int color); 00050 Q_SIGNAL void stopHelper(); 00051 }; 00052 00063 #endif