#include #include #include #include #include #include #include namespace mbgl { HeadlessBackend::HeadlessBackend() = default; HeadlessBackend::HeadlessBackend(std::shared_ptr display_) : display(std::move(display_)) { } HeadlessBackend::~HeadlessBackend() { BackendScope guard { *this, getScopeType() }; context.reset(); } void HeadlessBackend::activate() { active = true; if (!hasContext()) { if (!hasDisplay()) { throw std::runtime_error("Display is not set"); } createContext(); } assert(hasContext()); impl->activateContext(); } void HeadlessBackend::deactivate() { assert(hasContext()); impl->deactivateContext(); active = false; } void HeadlessBackend::updateAssumedState() { // no-op } } // namespace mbgl