void Map::pause() { assert(data->mode == MapMode::Continuous); std::unique_lock<std::mutex> lockPause(data->mutexPause); if (!data->paused) { context->invoke(&MapContext::pause); data->condPause.wait(lockPause, [&]{ return data->paused; }); } }
void Map::pause() { assert(data->mode == MapMode::Continuous); if (!paused) { std::unique_lock<std::mutex> lockPause(data->mutexPause); context->invoke(&MapContext::pause); data->condPaused.wait(lockPause); paused = true; } }
void MapContext::pause() { MBGL_CHECK_ERROR(glFinish()); view.deactivate(); std::unique_lock<std::mutex> lockPause(data.mutexPause); data.condPaused.notify_all(); data.condResume.wait(lockPause); view.activate(); }
void MapContext::pause() { MBGL_CHECK_ERROR(glFinish()); view.deactivate(); std::unique_lock<std::mutex> lockPause(data.mutexPause); data.paused = true; data.condPause.notify_all(); data.condPause.wait(lockPause, [&]{ return !data.paused; }); view.activate(); asyncInvalidate->send(); }
void Map::resume() { std::unique_lock<std::mutex> lockPause(data->mutexPause); data->paused = false; data->condPause.notify_all(); }