gizmos: draw shadow so they're still visible on white backdrop
Fixes #2142
This commit is contained in:
@@ -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_);
|
||||
}
|
||||
|
||||
|
||||
@@ -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_);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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_);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user