#include #include #include #include #include #include #include namespace mbgl { HeadlessBackend::HeadlessBackend() { } HeadlessBackend::HeadlessBackend(std::shared_ptr display_) : display(std::move(display_)) { } HeadlessBackend::~HeadlessBackend() { BackendScope scope(*this); 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 } void HeadlessBackend::invalidate() { assert(false); } } // namespace mbgl