void Painter::DrawArc(Vector center, double radius, double startAngle, double span)
{
center = CartesianToQtCoords(center);
+ // Need to multiply scalar quantities by the zoom factor as well...
+ radius *= zoom;
QRectF rectangle(QPointF(center.x - radius, center.y - radius),
QPointF(center.x + radius, center.y + radius));
int angle1 = (int)(startAngle * RADIANS_TO_DEGREES * 16.0);
void Painter::DrawEllipse(Vector center, double axis1, double axis2)
{
+ // Need to multiply scalar quantities by the zoom factor as well...
center = CartesianToQtCoords(center);
- painter->drawEllipse(QPointF(center.x, center.y), axis1, axis2);
+ painter->drawEllipse(QPointF(center.x, center.y), axis1 * zoom, axis2 * zoom);
+}
+
+// This function is for drawing object handles without regard for zoom level;
+// we don't want our object handle size to depend on the zoom level!
+void Painter::DrawHandle(Vector center)
+{
+ center = CartesianToQtCoords(center);
+ painter->drawEllipse(QPointF(center.x, center.y), 4.0, 4.0);
}
void Painter::DrawLine(int x1, int y1, int x2, int y2)