#ifndef GRAPHICSPOLYGONITEM_H #define GRAPHICSPOLYGONITEM_H #include "graphicsBaseItem.h" class GraphicPolygonItem : public GraphicsBaseItem { public: GraphicPolygonItem(QGraphicsItem *parent = 0); virtual ~GraphicPolygonItem(); void resize(int,double, double, const QPointF&); void updateCoordinate(); void move(const QPointF&); void editShape(int, const QPointF&); void addPoint(const QPointF&); bool endDrawing(); QPolygonF getPoints(void) { return m_points; } protected: virtual QPainterPath shape(); virtual QRectF boundingRect(); virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*); private: virtual void updateHandles(); QPolygonF m_lastPoints; //记录上一时刻的点集数据,用于缩放等操作 QPolygonF m_points; }; #endif