diff options
Diffstat (limited to 'platform/android/src/android_renderer_backend.cpp')
-rwxr-xr-x | platform/android/src/android_renderer_backend.cpp | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/platform/android/src/android_renderer_backend.cpp b/platform/android/src/android_renderer_backend.cpp new file mode 100755 index 0000000000..558395d296 --- /dev/null +++ b/platform/android/src/android_renderer_backend.cpp @@ -0,0 +1,55 @@ +#include "android_renderer_backend.hpp" + +#include <EGL/egl.h> + +#include <cassert> + +namespace mbgl { +namespace android { + +/** + * From mbgl::View + */ +void AndroidRendererBackend::bind() { + assert(BackendScope::exists()); + setFramebufferBinding(0); + setViewport(0, 0, getFramebufferSize()); +} + +/** + * From mbgl::RendererBackend. + */ +gl::ProcAddress AndroidRendererBackend::initializeExtension(const char* name) { + assert(BackendScope::exists()); + return eglGetProcAddress(name); +} + +void AndroidRendererBackend::updateViewPort() { + assert(BackendScope::exists()); + setViewport(0, 0, getFramebufferSize()); +} + +void AndroidRendererBackend::resizeFramebuffer(int width, int height) { + fbWidth = width; + fbHeight = height; +} + +PremultipliedImage AndroidRendererBackend::readFramebuffer() const { + assert(BackendScope::exists()); + return RendererBackend::readFramebuffer(getFramebufferSize()); +} + +mbgl::Size AndroidRendererBackend::getFramebufferSize() const { + return { static_cast<uint32_t>(fbWidth), static_cast<uint32_t>(fbHeight) }; +} + +/** + * From mbgl::RendererBackend. + */ +void AndroidRendererBackend::updateAssumedState() { + assumeFramebufferBinding(0); + assumeViewport(0, 0, getFramebufferSize()); +} + +} +} |