float yOffset = -12.0 * Global::zoom * size;
// Fix text so it isn't upside down...
+#if 0
if ((angle > PI * 0.5) && (angle < PI * 1.5))
{
angle += PI;
yOffset = 12.0 * Global::zoom * size;
}
+#else
+ if ((angle > QTR_TAU) && (angle < THREE_QTR_TAU))
+ {
+ angle += HALF_TAU;
+ yOffset = 12.0 * Global::zoom * size;
+ }
+#endif
textBox.translate(0, yOffset);
painter->save();
void Painter::DrawHandle(Vector center)
{
center = CartesianToQtCoords(center);
+ painter->setPen(QPen(Qt::red, 2.0, Qt::DotLine));
painter->setBrush(Qt::NoBrush);
painter->drawEllipse(QPointF(center.x, center.y), 4.0, 4.0);
}
// Since we're drawing directly on the screen, the Y is inverted. So we use
// the mirror of the angle.
- double orthoAngle = -angle + (PI / 2.0);
+ double orthoAngle = -angle + QTR_TAU;//(PI / 2.0);
Vector orthogonal = Vector(cos(orthoAngle), sin(orthoAngle));
Vector unit = Vector(cos(-angle), sin(-angle));
// Since we're drawing directly on the screen, the Y is inverted. So we use
// the mirror of the angle.
- double orthoAngle = -angle + (PI / 2.0);
+ double orthoAngle = -angle + QTR_TAU;//(PI / 2.0);
Vector orthogonal = Vector(cos(orthoAngle), sin(orthoAngle));
Vector unit = Vector(cos(-angle), sin(-angle));
// We draw the arrowhead aligned along the line from tail to head
double angle = Vector(head - tail).Angle();
- double orthoAngle = angle + (PI / 2.0);
+ double orthoAngle = angle + QTR_TAU;//(PI / 2.0);
Vector orthogonal = Vector(cos(orthoAngle), sin(orthoAngle));
Vector unit = Vector(head - tail).Unit();