diff options
author | Ivo van Dongen <info@ivovandongen.nl> | 2017-06-13 10:50:16 +0300 |
---|---|---|
committer | Ivo van Dongen <ivovandongen@users.noreply.github.com> | 2017-07-18 10:45:12 +0200 |
commit | 3832f8d0d8194b81ea34a045e19b0d5bc7a89e25 (patch) | |
tree | bbb4b277e1e74bde457271b9b9a5b6a9ec3ad5fb /test/src/mbgl/test/stub_renderer_frontend.hpp | |
parent | 39a732d7ae3cb1b927d94c4b1154b42d9565356a (diff) | |
download | qtlocation-mapboxgl-3832f8d0d8194b81ea34a045e19b0d5bc7a89e25.tar.gz |
[core] renderer interface
Diffstat (limited to 'test/src/mbgl/test/stub_renderer_frontend.hpp')
-rw-r--r-- | test/src/mbgl/test/stub_renderer_frontend.hpp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/test/src/mbgl/test/stub_renderer_frontend.hpp b/test/src/mbgl/test/stub_renderer_frontend.hpp new file mode 100644 index 0000000000..f6dd1d0472 --- /dev/null +++ b/test/src/mbgl/test/stub_renderer_frontend.hpp @@ -0,0 +1,44 @@ + +#pragma once + +#include <mbgl/renderer/renderer_frontend.hpp> +#include <mbgl/util/async_task.hpp> +#include <mbgl/util/geo.hpp> +#include <mbgl/util/feature.hpp> +#include <mbgl/renderer/query.hpp> + +#include <functional> +#include <memory> + +namespace mbgl { + +class Renderer; +class View; + +class StubRendererFrontend : public RendererFrontend { +public: + // Calls the provided callback when it's time to render + using InvalidateCallback = std::function<void (StubRendererFrontend&)>; + StubRendererFrontend(std::unique_ptr<Renderer>, InvalidateCallback); + + // Will render async + StubRendererFrontend(std::unique_ptr<Renderer>, View&); + + ~StubRendererFrontend() override; + + void reset() override; + + void setObserver(RendererObserver&) override; + + void update(std::shared_ptr<UpdateParameters>) override; + void render(View& view); + + Renderer* getRenderer(); + +private: + std::unique_ptr<Renderer> renderer; + std::shared_ptr<UpdateParameters> updateParameters; + util::AsyncTask asyncInvalidate; +}; + +} // namespace mbgl |