summaryrefslogtreecommitdiff
path: root/platform/android/src/map_renderer.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/src/map_renderer.hpp')
-rw-r--r--platform/android/src/map_renderer.hpp26
1 files changed, 21 insertions, 5 deletions
diff --git a/platform/android/src/map_renderer.hpp b/platform/android/src/map_renderer.hpp
index 51fca48ee6..ca216fc240 100644
--- a/platform/android/src/map_renderer.hpp
+++ b/platform/android/src/map_renderer.hpp
@@ -1,21 +1,23 @@
#pragma once
-#include <mbgl/actor/actor_ref.hpp>
-#include <mbgl/actor/mailbox.hpp>
#include <mbgl/actor/scheduler.hpp>
-#include <mbgl/renderer/renderer.hpp>
#include <memory>
#include <utility>
#include <jni/jni.hpp>
+#include <mbgl/storage/default_file_source.hpp>
#include "jni/generic_global_ref_deleter.hpp"
namespace mbgl {
+template <class>
+class ActorRef;
+class Mailbox;
class Renderer;
class RendererBackend;
+class RendererObserver;
class ThreadPool;
class UpdateParameters;
@@ -52,6 +54,11 @@ public:
// Resets the renderer to clean up on the calling thread
void reset();
+ // Takes the RendererObserver by shared_ptr so we
+ // don't have to make the header public. Use
+ // this instead of Renderer#setObserver directly
+ void setObserver(std::shared_ptr<RendererObserver>);
+
// Sets the new update parameters to use on subsequent
// renders. Be sure to trigger a render with
// requestRender().
@@ -79,11 +86,20 @@ private:
private:
GenericUniqueWeakObject<MapRenderer> javaPeer;
+
+ float pixelRatio;
+ DefaultFileSource& fileSource;
+ std::string programCacheDir;
+
std::shared_ptr<ThreadPool> threadPool;
+ std::shared_ptr<Mailbox> mailbox;
+
+ std::mutex initialisationMutex;
+ std::shared_ptr<RendererObserver> rendererObserver;
+
std::unique_ptr<AndroidRendererBackend> backend;
std::unique_ptr<Renderer> renderer;
- std::shared_ptr<Mailbox> mailbox;
- ActorRef<Renderer> rendererRef;
+ std::unique_ptr<ActorRef<Renderer>> rendererRef;
std::shared_ptr<UpdateParameters> updateParameters;
std::mutex updateMutex;