* @brief Advances to the next CSV row, capped at the last row. */
| 252 | * @brief Advances to the next CSV row, capped at the last row. |
| 253 | */ |
| 254 | void CSV::Player::nextFrame() |
| 255 | { |
| 256 | if (framePosition() < frameCount() - 1) { |
| 257 | ++m_framePos; |
| 258 | |
| 259 | UI::Dashboard::instance().clearPlotData(); |
| 260 | |
| 261 | int framesToLoad = UI::Dashboard::instance().points(); |
| 262 | int startFrame = std::max(1, m_framePos - framesToLoad); |
| 263 | processFrameBatch(startFrame, m_framePos); |
| 264 | |
| 265 | updateData(); |
| 266 | } |
| 267 | } |
| 268 | |
| 269 | /** |
| 270 | * @brief Steps back to the previous CSV row, capped at the first row. |
no test coverage detected