diff options
Diffstat (limited to 'Swift/QtUI/Whiteboard/FreehandLineItem.h')
-rw-r--r-- | Swift/QtUI/Whiteboard/FreehandLineItem.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Swift/QtUI/Whiteboard/FreehandLineItem.h b/Swift/QtUI/Whiteboard/FreehandLineItem.h new file mode 100644 index 0000000..aa9fdff --- /dev/null +++ b/Swift/QtUI/Whiteboard/FreehandLineItem.h @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2012 Mateusz Piękos + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +#pragma once + +#include <QGraphicsItem> +#include <QPainter> +#include <iostream> + +using namespace std; + +namespace Swift { + class FreehandLineItem : public QGraphicsItem { + public: + FreehandLineItem(QGraphicsItem* parent = 0); + QRectF boundingRect() const; + void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = 0); + void setStartPoint(QPointF point); + void lineTo(QPointF point); + bool collidesWithPath(const QPainterPath& path, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape) const; + void setPen(const QPen& pen); + QPen pen() const; + + private: + QPen _pen; + QVector<QPointF> points; + QRectF boundRect; + }; +} |