diff --git a/app/node/gizmo/line.cpp b/app/node/gizmo/line.cpp index 33f1a45bc..d10cce5f2 100644 --- a/app/node/gizmo/line.cpp +++ b/app/node/gizmo/line.cpp @@ -29,9 +29,16 @@ LineGizmo::LineGizmo(QObject *parent) : void LineGizmo::Draw(QPainter *p) const { - p->setBrush(Qt::NoBrush); - p->setPen(QPen(Qt::white, 0)); + // Draw transposed black + QLineF transposed = p->transform().map(line_); + transposed.translate(1, 1); + transposed = p->transform().inverted().map(transposed); + p->setPen(QPen(Qt::black, 0)); + p->drawLine(transposed); + // Draw normal white polygon + p->setPen(QPen(Qt::white, 0)); + p->setBrush(Qt::NoBrush); p->drawLine(line_); } diff --git a/app/node/gizmo/path.cpp b/app/node/gizmo/path.cpp index cd9642aec..b9733e869 100644 --- a/app/node/gizmo/path.cpp +++ b/app/node/gizmo/path.cpp @@ -30,9 +30,16 @@ PathGizmo::PathGizmo(QObject *parent) : void PathGizmo::Draw(QPainter *p) const { + // Draw transposed black + QPainterPath transposed = p->transform().map(path_); + transposed.translate(1, 1); + transposed = p->transform().inverted().map(transposed); + p->setPen(QPen(Qt::black, 0)); + p->drawPath(transposed); + + // Draw normal white polygon p->setPen(QPen(Qt::white, 0)); p->setBrush(Qt::NoBrush); - p->drawPath(path_); } diff --git a/app/node/gizmo/point.cpp b/app/node/gizmo/point.cpp index d60ccf5bd..213948ba1 100644 --- a/app/node/gizmo/point.cpp +++ b/app/node/gizmo/point.cpp @@ -46,7 +46,7 @@ void PointGizmo::Draw(QPainter *p) const QRectF rect = GetDrawingRect(p->transform(), GetStandardRadius()); if (shape_ != kAnchorPoint) { - p->setPen(Qt::NoPen); + p->setPen(QPen(Qt::black, 0)); p->setBrush(Qt::white); } diff --git a/app/node/gizmo/polygon.cpp b/app/node/gizmo/polygon.cpp index 8279d7fea..602f4a984 100644 --- a/app/node/gizmo/polygon.cpp +++ b/app/node/gizmo/polygon.cpp @@ -29,9 +29,16 @@ PolygonGizmo::PolygonGizmo(QObject *parent) void PolygonGizmo::Draw(QPainter *p) const { + // Draw transposed black + QPolygonF transposed = p->transform().map(polygon_); + transposed.translate(1, 1); + transposed = p->transform().inverted().map(transposed); + p->setPen(QPen(Qt::black, 0)); + p->drawPolyline(transposed); + + // Draw normal white polygon p->setPen(QPen(Qt::white, 0)); p->setBrush(Qt::NoBrush); - p->drawPolyline(polygon_); }