diff options
Diffstat (limited to 'include/mbgl/map/backend_scope.hpp')
-rw-r--r-- | include/mbgl/map/backend_scope.hpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/include/mbgl/map/backend_scope.hpp b/include/mbgl/map/backend_scope.hpp index 5a207e6ac4..4985cd197f 100644 --- a/include/mbgl/map/backend_scope.hpp +++ b/include/mbgl/map/backend_scope.hpp @@ -6,13 +6,26 @@ class Backend; class BackendScope { public: - BackendScope(Backend&); + // 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 |