@@ -1024,14 +1024,6 @@ void SimulatorView::drawTrackObjects(QPainter *painter)
10241024 QPen signalLightArrowPenOn = signalLightArrowPenOff;
10251025 signalLightArrowPenOn.setColor (Qt::white);
10261026
1027- QPen dwarfBorderPen (Qt::darkGray, 0.1 * m_signalsScaleFactor);
1028- dwarfBorderPen.setJoinStyle (Qt::RoundJoin);
1029-
1030- QPen dwarfBorderPenBlack = dwarfBorderPen;
1031- dwarfBorderPenBlack.setColor (Qt::black);
1032-
1033- QPen dwarfDiagPenBlack (Qt::black, 0.2 * m_signalsScaleFactor);
1034-
10351027 QPen signalIndicatorBorder (Qt::darkGray, 0.1 * m_signalsScaleFactor);
10361028
10371029 const qreal mastBaseLength = 3.0 * m_signalsScaleFactor;
@@ -1050,11 +1042,25 @@ void SimulatorView::drawTrackObjects(QPainter *painter)
10501042 directionFont.setBold (true );
10511043 directionFont.setPointSizeF (directionIndicatorWidth * 0.9 );
10521044
1053- const QTransform trasf = painter->transform ();
1045+ // Zoom dwarf signals a bit less
1046+ const qreal LightDwarfFactor = 0.4 + 0.6 * m_signalsScaleFactor;
1047+
1048+ // Zoom dwarf signals even less because they are quite big
1049+ const qreal RotatingDwarfFactor = 0.6 + 0.4 * m_signalsScaleFactor;
1050+
1051+ QPen lightDwarfBorderPen (Qt::darkGray, 0.1 * LightDwarfFactor);
1052+ lightDwarfBorderPen.setJoinStyle (Qt::RoundJoin);
1053+
1054+ QPen rotDwarfBorderPenBlack (Qt::darkGray, 0.1 * RotatingDwarfFactor);;
1055+ rotDwarfBorderPenBlack.setColor (Qt::black);
1056+
1057+ QPen dwarfDiagPenBlack (Qt::black, 0.2 * RotatingDwarfFactor);
10541058
10551059 QPen trackPen (QColor (204 , 204 , 204 ), 1 );
10561060 trackPen.setCapStyle (Qt::RoundCap);
10571061
1062+ const QTransform trasf = painter->transform ();
1063+
10581064 QPen borderPen (Qt::red, 1 );
10591065 const float trainWidth = m_simulator->staticData .trainWidth ;
10601066
@@ -1427,9 +1433,9 @@ void SimulatorView::drawTrackObjects(QPainter *painter)
14271433 {
14281434 case Simulator::AuxSignal::SubType::LightDwarfSignal:
14291435 {
1430- const qreal LightDwarfWidth = 1 .5f * m_signalsScaleFactor ;
1431- const qreal LightDwarfHeight = 2 .0f * m_signalsScaleFactor ;
1432- const qreal LightDwarfLightSz = 0 .5f * m_signalsScaleFactor ;
1436+ const qreal LightDwarfWidth = 1 .5f * LightDwarfFactor ;
1437+ const qreal LightDwarfHeight = 2 .0f * LightDwarfFactor ;
1438+ const qreal LightDwarfLightSz = 0 .5f * LightDwarfFactor ;
14331439
14341440 // Background
14351441 QPainterPath path;
@@ -1442,7 +1448,7 @@ void SimulatorView::drawTrackObjects(QPainter *painter)
14421448 path.lineTo (LightDwarfWidth / 2.0 , 0.0 );
14431449 path.closeSubpath ();
14441450
1445- painter->setPen (dwarfBorderPen );
1451+ painter->setPen (lightDwarfBorderPen );
14461452 painter->setBrush (Qt::black);
14471453 painter->drawPath (path);
14481454
@@ -1469,11 +1475,11 @@ void SimulatorView::drawTrackObjects(QPainter *painter)
14691475 }
14701476 case Simulator::AuxSignal::SubType::RotatingDwarfSignal:
14711477 {
1472- const QSizeF RotDwarBaseSz (1.8 * m_signalsScaleFactor , 0.8 * m_signalsScaleFactor );
1473- const QSizeF RotDwarMastSz (0.3 * m_signalsScaleFactor , 0.3 * m_signalsScaleFactor );
1474- const QSizeF RotDwarfSz (1.4 * m_signalsScaleFactor , 1.8 * m_signalsScaleFactor );
1475- const QSizeF RotDwarInnerSz (1.0 * m_signalsScaleFactor , 1.4 * m_signalsScaleFactor );
1476- const qreal RotDwarfLightSz = 0 .6f * m_signalsScaleFactor ;
1478+ const QSizeF RotDwarBaseSz (1.8 * RotatingDwarfFactor , 0.8 * RotatingDwarfFactor );
1479+ const QSizeF RotDwarMastSz (0.3 * RotatingDwarfFactor , 0.3 * RotatingDwarfFactor );
1480+ const QSizeF RotDwarfSz (1.4 * RotatingDwarfFactor , 1.8 * RotatingDwarfFactor );
1481+ const QSizeF RotDwarInnerSz (1.0 * RotatingDwarfFactor , 1.4 * RotatingDwarfFactor );
1482+ const qreal RotDwarfLightSz = 0 .6f * RotatingDwarfFactor ;
14771483
14781484 // Draw base
14791485 QRectF baseRect (QPointF (), RotDwarBaseSz);
@@ -1498,7 +1504,7 @@ void SimulatorView::drawTrackObjects(QPainter *painter)
14981504 rotLightRect.moveCenter (rotRect.center ());
14991505
15001506 // Now draw signal
1501- painter->setPen (dwarfBorderPenBlack );
1507+ painter->setPen (rotDwarfBorderPenBlack );
15021508 painter->setBrush (Qt::white);
15031509 painter->drawRect (rotRect);
15041510
0 commit comments