diff options
Diffstat (limited to 'platform/android/src/android_renderer_frontend.cpp')
-rw-r--r-- | platform/android/src/android_renderer_frontend.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/platform/android/src/android_renderer_frontend.cpp b/platform/android/src/android_renderer_frontend.cpp index cdcd8eddfe..0619ba4cb5 100644 --- a/platform/android/src/android_renderer_frontend.cpp +++ b/platform/android/src/android_renderer_frontend.cpp @@ -58,10 +58,11 @@ AndroidRendererFrontend::AndroidRendererFrontend(float pixelRatio, FileSource& fileSource, Scheduler& scheduler, std::string programCacheDir, - InvalidateCallback invalidate) + RequestRenderCallback requestRender, + RequestProcessingCallback requestProcessing) : backend(std::make_unique<AndroidRendererBackend>()) , glThread(std::make_unique<AndroidGLThread>( - invalidate, + std::move(requestProcessing), *backend, pixelRatio, fileSource, @@ -69,8 +70,8 @@ AndroidRendererFrontend::AndroidRendererFrontend(float pixelRatio, GLContextMode::Unique, programCacheDir )) - , asyncInvalidate([=]() { - invalidate(); + , asyncInvalidate([requestRender=std::move(requestRender)]() { + requestRender(); }) , mapRunLoop(util::RunLoop::Get()) { } @@ -112,9 +113,6 @@ void AndroidRendererFrontend::render() { params = updateParameters; } - // Process the gl thread mailbox - glThread->process(); - // Activate the backend BackendScope backendGuard { *backend }; @@ -130,6 +128,11 @@ void AndroidRendererFrontend::render() { glThread->renderer->render(*params); } +void AndroidRendererFrontend::process() { + // Process the gl thread mailbox + glThread->process(); +} + void AndroidRendererFrontend::onLowMemory() { assert (glThread); glThread->actor().invoke(&Renderer::onLowMemory); |