#include <QGraphicsScene>
#include <QCursor>
#include <QGraphicsSceneMouseEvent>
+#include <QGraphicsView>
inline QPointF closestPointInRect(QPointF point, QRectF rect)
setBrush(Qt::NoBrush);
setAcceptHoverEvents(true);
+ m_view = scene->views()[0];
+
setPoints(points);
}
return;
if (m_closed) {
- QRectF r(event->scenePos() - QPointF(6, 6), QSizeF(12, 12));
+ qreal size = 12 / m_view->matrix().m11();
+ QRectF r(event->scenePos() - QPointF(size / 2, size / 2), QSizeF(size, size));
if (event->button() == Qt::LeftButton && path().intersects(r) && !path().contains(r)) {
double t = 0;
BPointItem *i1, *i2;
{
QGraphicsItem::hoverMoveEvent(event);
- QRectF r(event->scenePos() - QPointF(6, 6), QSizeF(12, 12));
+ qreal size = 12 / m_view->matrix().m11();
+ QRectF r(event->scenePos() - QPointF(size / 2, size / 2), QSizeF(size, size));
if (path().intersects(r) && !path().contains(r))
setCursor(QCursor(Qt::PointingHandCursor));
else