| 374 | } |
| 375 | |
| 376 | void |
| 377 | RedrawThread::done () |
| 378 | { |
| 379 | // stop timer if there is one |
| 380 | m_main_timer.reset (0); |
| 381 | |
| 382 | wakeup (); |
| 383 | |
| 384 | // release the workers' resources |
| 385 | for (int i = 0; i < num_workers (); ++i) { |
| 386 | RedrawThreadWorker *w = dynamic_cast <RedrawThreadWorker *> (worker (i)); |
| 387 | if (w) { |
| 388 | w->finish (); |
| 389 | } |
| 390 | } |
| 391 | |
| 392 | // send a signal to the canvas that the drawing has finished |
| 393 | mp_canvas->signal_end_of_drawing (); |
| 394 | } |
| 395 | |
| 396 | void |
| 397 | RedrawThread::finished () |
no test coverage detected