diff options
author | Aleks Kissinger <aleks0@gmail.com> | 2019-01-11 08:50:02 +0100 |
---|---|---|
committer | Aleks Kissinger <aleks0@gmail.com> | 2019-01-11 08:50:02 +0100 |
commit | 6db2bfd256d2c409f0223bf2685a2829466add78 (patch) | |
tree | dc502da1f776d354b77b1c67ac620a32f3f66003 | |
parent | 0002340da590611f635775d0555c66c7f22db09c (diff) |
keep inAngle and outAngle snapped to 15-degree increments
-rw-r--r-- | src/data/edge.cpp | 6 | ||||
-rw-r--r-- | src/gui/nodeitem.cpp | 10 |
2 files changed, 9 insertions, 7 deletions
diff --git a/src/data/edge.cpp b/src/data/edge.cpp index 41fc2bb..fcd9959 100644 --- a/src/data/edge.cpp +++ b/src/data/edge.cpp @@ -169,8 +169,10 @@ void Edge::updateControls() { qreal bnd = static_cast<qreal>(_bend) * (M_PI / 180.0);
outAngleR = angle - bnd;
inAngleR = M_PI + angle + bnd;
- _outAngle = static_cast<int>(round(outAngleR * (180.0 / M_PI)));
- _inAngle = static_cast<int>(round(inAngleR * (180.0 / M_PI)));
+
+ // keep _inAngle and _outAngle snapped to increments of 15 degrees
+ _outAngle = static_cast<int>(roundToNearest(15.0, outAngleR * (180.0 / M_PI)));
+ _inAngle = static_cast<int>(roundToNearest(15.0, inAngleR * (180.0 / M_PI)));
} else {
outAngleR = static_cast<qreal>(_outAngle) * (M_PI / 180.0);
inAngleR = static_cast<qreal>(_inAngle) * (M_PI / 180.0);
diff --git a/src/gui/nodeitem.cpp b/src/gui/nodeitem.cpp index 18ff43c..8907573 100644 --- a/src/gui/nodeitem.cpp +++ b/src/gui/nodeitem.cpp @@ -72,7 +72,7 @@ void NodeItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidge QVector<qreal> p; p << 1.0 << 2.0; pen.setDashPattern(p); - pen.setWidthF(2.0f); + pen.setWidthF(2.0); painter->setPen(pen); painter->setBrush(Qt::NoBrush); painter->drawPath(shape()); @@ -135,10 +135,10 @@ void NodeItem::updateBounds() prepareGeometryChange(); QString label = _node->label(); if (label != "") { - QFontMetrics fm(Tikzit::LABEL_FONT); - QRectF labelRect = fm.boundingRect(label); - labelRect.moveCenter(QPointF(0, 0)); - _boundingRect = labelRect.united(shape().boundingRect()).adjusted(-4, -4, 4, 4); + //QFontMetrics fm(Tikzit::LABEL_FONT); + //QRectF labelRect = fm.boundingRect(label); + //labelRect.moveCenter(QPointF(0, 0)); + _boundingRect = labelRect().united(shape().boundingRect()).adjusted(-4, -4, 4, 4); } else { _boundingRect = shape().boundingRect().adjusted(-4, -4, 4, 4); } |