only calculate grid-point-size, when min != max

This commit is contained in:
plc-user
2025-03-13 20:46:04 +01:00
parent 6afd9fe48d
commit eeb453f120
2 changed files with 25 additions and 23 deletions

View File

@@ -186,7 +186,7 @@ void Diagram::drawBackground(QPainter *p, const QRectF &r) {
p -> drawRect(r); p -> drawRect(r);
if (draw_grid_) { if (draw_grid_) {
/* Draw the point of the grid /* Draw the points of the grid
* if background color is black, * if background color is black,
* then grid spots shall be white, * then grid spots shall be white,
* else they shall be black in color. * else they shall be black in color.
@@ -232,6 +232,7 @@ void Diagram::drawBackground(QPainter *p, const QRectF &r) {
int minWidthPen = settings.value(QStringLiteral("diagrameditor/grid_pointsize_min"), 1).toInt(); int minWidthPen = settings.value(QStringLiteral("diagrameditor/grid_pointsize_min"), 1).toInt();
int maxWidthPen = settings.value(QStringLiteral("diagrameditor/grid_pointsize_max"), 1).toInt(); int maxWidthPen = settings.value(QStringLiteral("diagrameditor/grid_pointsize_max"), 1).toInt();
pen.setWidth(minWidthPen); pen.setWidth(minWidthPen);
if (minWidthPen != maxWidthPen) {
qreal stepPen = (maxWidthPen - minWidthPen) / (qreal)maxWidthPen; qreal stepPen = (maxWidthPen - minWidthPen) / (qreal)maxWidthPen;
qreal stepZoom = (5.0 - 1.0) / maxWidthPen; qreal stepZoom = (5.0 - 1.0) / maxWidthPen;
for (int n=0; n<maxWidthPen; n++) { for (int n=0; n<maxWidthPen; n++) {
@@ -244,7 +245,7 @@ void Diagram::drawBackground(QPainter *p, const QRectF &r) {
pen.setWidth(minWidthPen); pen.setWidth(minWidthPen);
else if (zoom_factor > (1.0 + stepZoom * maxWidthPen)) else if (zoom_factor > (1.0 + stepZoom * maxWidthPen))
pen.setWidth(maxWidthPen); pen.setWidth(maxWidthPen);
}
p -> setPen(pen); p -> setPen(pen);
if (zoom_factor > 0.5) // no grid below ... ! if (zoom_factor > 0.5) // no grid below ... !
p -> drawPoints(points); p -> drawPoints(points);

View File

@@ -559,6 +559,7 @@ void ElementView::drawBackground(QPainter *p, const QRectF &r) {
int minWidthPen = settings.value(QStringLiteral("elementeditor/grid_pointsize_min"), 1).toInt(); int minWidthPen = settings.value(QStringLiteral("elementeditor/grid_pointsize_min"), 1).toInt();
int maxWidthPen = settings.value(QStringLiteral("elementeditor/grid_pointsize_max"), 1).toInt(); int maxWidthPen = settings.value(QStringLiteral("elementeditor/grid_pointsize_max"), 1).toInt();
pen.setWidth(minWidthPen); pen.setWidth(minWidthPen);
if (minWidthPen != maxWidthPen) {
qreal stepPen = (maxWidthPen - minWidthPen) / (qreal)maxWidthPen; qreal stepPen = (maxWidthPen - minWidthPen) / (qreal)maxWidthPen;
qreal stepZoom = (25.0 - 1.0) / maxWidthPen; qreal stepZoom = (25.0 - 1.0) / maxWidthPen;
for (int n=0; n<maxWidthPen; n++) { for (int n=0; n<maxWidthPen; n++) {
@@ -571,7 +572,7 @@ void ElementView::drawBackground(QPainter *p, const QRectF &r) {
pen.setWidth(minWidthPen); pen.setWidth(minWidthPen);
else if (zoom_factor > (1.0 + stepZoom * maxWidthPen)) else if (zoom_factor > (1.0 + stepZoom * maxWidthPen))
pen.setWidth(maxWidthPen); pen.setWidth(maxWidthPen);
}
p -> setPen(pen); p -> setPen(pen);
p -> setBrush(Qt::NoBrush); p -> setBrush(Qt::NoBrush);
qreal limit_x = r.x() + r.width(); qreal limit_x = r.x() + r.width();