summaryrefslogtreecommitdiff
path: root/platform/android/src/android_renderer_frontend.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/src/android_renderer_frontend.cpp')
-rw-r--r--platform/android/src/android_renderer_frontend.cpp17
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);