BayTemplate/include/graphicsItem/graphicsRectItem.h

39 lines
1.1 KiB
C++

#ifndef GRAPHICSRECTITEM_H
#define GRAPHICSRECTITEM_H
#include "graphicsBaseItem.h"
class GraphicsRectItem : public GraphicsBaseItem
{
Q_OBJECT
public:
GraphicsRectItem(const QRect &rect, bool isRound = false, QGraphicsItem *parent = 0);
virtual ~GraphicsRectItem();
void resize(int,double, double, const QPointF&);
void updateCoordinate();
void move(const QPointF&);
void editShape(int, const QPointF&);
bool isRound() const { return m_bIsRound; }
void setIsRound(bool round) { m_bIsRound = round; }
double ratioX() const { return m_dRatioX; }
double ratioY() const { return m_dRatioY; }
void setRatioX(double rx) { m_dRatioX = rx; }
void setRatioY(double ry) { m_dRatioY = ry; }
protected:
virtual QPainterPath shape();
virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*);
private:
virtual void updateHandles();
QRectF m_lastBoudingRect; //记录上一时刻的boundingRect
bool m_bIsRound; //是否为圆角矩形
double m_dRatioX;
double m_dRatioY;
};
#endif