summaryrefslogtreecommitdiff
path: root/include/mbgl/map
diff options
context:
space:
mode:
authorIvo van Dongen <info@ivovandongen.nl>2017-07-05 20:08:51 +0300
committerIvo van Dongen <ivovandongen@users.noreply.github.com>2017-07-18 10:45:12 +0200
commit46c43510d7ac5fe078010d5f0f5d39c4d5df3305 (patch)
tree5dc78959e174dc0e83198a4d92e86f65f33bb168 /include/mbgl/map
parentee205ca9ca3f808fa2cc16295ebde0a7c3867381 (diff)
downloadqtlocation-mapboxgl-46c43510d7ac5fe078010d5f0f5d39c4d5df3305.tar.gz
[core] rename backend to renderer backend
Diffstat (limited to 'include/mbgl/map')
-rw-r--r--include/mbgl/map/backend.hpp84
-rw-r--r--include/mbgl/map/backend_scope.hpp31
2 files changed, 0 insertions, 115 deletions
diff --git a/include/mbgl/map/backend.hpp b/include/mbgl/map/backend.hpp
deleted file mode 100644
index 3347086571..0000000000
--- a/include/mbgl/map/backend.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-#pragma once
-
-#include <mbgl/map/view.hpp>
-#include <mbgl/map/backend_scope.hpp>
-#include <mbgl/util/image.hpp>
-#include <mbgl/util/size.hpp>
-
-#include <memory>
-#include <mutex>
-
-namespace mbgl {
-
-namespace gl {
-class Context;
-using ProcAddress = void (*)();
-using FramebufferID = uint32_t;
-} // namespace gl
-
-class Backend {
-public:
- Backend();
- virtual ~Backend();
-
- // Returns the backend's context which manages OpenGL state.
- gl::Context& getContext();
-
- // Called prior to rendering to update the internally assumed OpenGL state.
- virtual void updateAssumedState() = 0;
-
- inline virtual BackendScope::ScopeType getScopeType() const {
- return BackendScope::ScopeType::Explicit;
- };
-
-protected:
- // Called with the name of an OpenGL extension that should be loaded. Backend implementations
- // must call the API-specific version that obtains the function pointer for this function,
- // or a null pointer if unsupported/unavailable.
- virtual gl::ProcAddress initializeExtension(const char*) = 0;
-
- // Called when the backend's GL context needs to be made active or inactive. These are called,
- // as a matched pair, in four situations:
- //
- // 1. When releasing GL resources during Map destruction
- // 2. When calling a CustomLayerInitializeFunction, during Map::addLayer
- // 3. When calling a CustomLayerDeinitializeFunction, during Map::removeLayer
- // 4. When rendering for Map::renderStill
- //
- // They are *not* called for Map::render; it is assumed that the correct context is already
- // activated prior to calling Map::render.
- virtual void activate() = 0;
- virtual void deactivate() = 0;
-
- // Reads the color pixel data from the currently bound framebuffer.
- PremultipliedImage readFramebuffer(const Size&) const;
-
- // A constant to signal that a framebuffer is bound, but with an unknown ID.
- static constexpr const gl::FramebufferID ImplicitFramebufferBinding =
- std::numeric_limits<gl::FramebufferID>::max();
-
- // Tells the renderer that OpenGL state has already been set by the windowing toolkit.
- // It sets the internal assumed state to the supplied values.
- void assumeFramebufferBinding(gl::FramebufferID fbo);
- void assumeViewport(int32_t x, int32_t y, const Size&);
- void assumeScissorTest(bool);
-
- // Returns true when assumed framebuffer binding hasn't changed from the implicit binding.
- bool implicitFramebufferBound();
-
- // Triggers an OpenGL state update if the internal assumed state doesn't match the
- // supplied values.
- void setFramebufferBinding(gl::FramebufferID fbo);
- void setViewport(int32_t x, int32_t y, const Size&);
- void setScissorTest(bool);
-
-protected:
- std::unique_ptr<gl::Context> context;
-
-private:
- std::once_flag initialized;
-
- friend class BackendScope;
-};
-
-} // namespace mbgl
diff --git a/include/mbgl/map/backend_scope.hpp b/include/mbgl/map/backend_scope.hpp
deleted file mode 100644
index 4985cd197f..0000000000
--- a/include/mbgl/map/backend_scope.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-#pragma once
-
-namespace mbgl {
-
-class Backend;
-
-class BackendScope {
-public:
- // There are two types of scopes: Creating an "Implicit" scope tells Mapbox GL that the
- // supporting windowing system has already activated the GL Backend and that no further actions
- // are required. Creating an "Explicit" scope actually enables the GL Backend, and disables it
- // when the BackendScope is destroyed.
- enum class ScopeType : bool {
- Implicit,
- Explicit,
- };
-
- BackendScope(Backend&, ScopeType = ScopeType::Explicit);
- ~BackendScope();
-
- // Returns true when there is currently a BackendScope active in this thread.
- static bool exists();
-
-private:
- BackendScope* priorScope;
- BackendScope* nextScope;
- Backend& backend;
- const ScopeType scopeType;
-};
-
-} // namespace mbgl