/** * Paints the traffic symbols on the given canvas * @param canvas The canvas to paint on */ void FlarmTrafficWindow::PaintRadarTraffic(Canvas &canvas) { if (!data.available || data.GetActiveTrafficCount() == 0) { PaintRadarNoTraffic(canvas); return; } // Iterate through the traffic (normal traffic) for (unsigned i = 0; i < data.traffic.size(); ++i) { const FlarmTraffic &traffic = data.traffic[i]; if (!traffic.HasAlarm() && static_cast<unsigned> (selection) != i) PaintRadarTarget(canvas, traffic, i); } if (selection >= 0) { const FlarmTraffic &traffic = data.traffic[selection]; if (!traffic.HasAlarm()) PaintRadarTarget(canvas, traffic, selection); } if (!WarningMode()) return; // Iterate through the traffic (alarm traffic) for (unsigned i = 0; i < data.traffic.size(); ++i) { const FlarmTraffic &traffic = data.traffic[i]; if (traffic.HasAlarm()) PaintRadarTarget(canvas, traffic, i); } }
/** * Paints the traffic symbols on the given canvas * @param canvas The canvas to paint on */ void FlarmTrafficWindow::PaintRadarTraffic(Canvas &canvas) { if (!data.FLARM_Available || data.GetActiveTrafficCount() == 0) { PaintRadarNoTraffic(canvas); return; } // Iterate through the traffic (normal traffic) for (unsigned i = 0; i < FLARM_STATE::FLARM_MAX_TRAFFIC; ++i) { const FLARM_TRAFFIC &traffic = data.FLARM_Traffic[i]; if (traffic.defined() && !traffic.HasAlarm() && static_cast<unsigned> (selection) != i) PaintRadarTarget(canvas, traffic, i); } if (selection >= 0 && selection < FLARM_STATE::FLARM_MAX_TRAFFIC) { const FLARM_TRAFFIC &traffic = data.FLARM_Traffic[selection]; if (traffic.defined() && !traffic.HasAlarm()) PaintRadarTarget(canvas, traffic, selection); } if (!WarningMode()) return; // Iterate through the traffic (alarm traffic) for (unsigned i = 0; i < FLARM_STATE::FLARM_MAX_TRAFFIC; ++i) { const FLARM_TRAFFIC &traffic = data.FLARM_Traffic[i]; if (traffic.defined() && traffic.HasAlarm()) PaintRadarTarget(canvas, traffic, i); } }