diff options
Diffstat (limited to 'platform/glfw/main.cpp')
-rw-r--r-- | platform/glfw/main.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/platform/glfw/main.cpp b/platform/glfw/main.cpp index 76c843c953..dadd88c705 100644 --- a/platform/glfw/main.cpp +++ b/platform/glfw/main.cpp @@ -44,6 +44,7 @@ int main(int argc, char *argv[]) { const struct option long_options[] = { {"fullscreen", no_argument, nullptr, 'f'}, {"benchmark", no_argument, nullptr, 'b'}, + {"offline", no_argument, nullptr, 'o'}, {"style", required_argument, nullptr, 's'}, {"lon", required_argument, nullptr, 'x'}, {"lat", required_argument, nullptr, 'y'}, @@ -65,6 +66,9 @@ int main(int argc, char *argv[]) { case 'b': benchmark = true; break; + case 'o': + settings.online = false; + break; case 's': style = std::string(optarg); break; @@ -104,6 +108,10 @@ int main(int argc, char *argv[]) { view = &backend; mbgl::DefaultFileSource fileSource("/tmp/mbgl-cache.db", "."); + if (!settings.online) { + fileSource.setOnlineStatus(false); + mbgl::Log::Warning(mbgl::Event::Setup, "Application is offline. Press `O` to toggle online status."); + } // Set access token if present const char *token = getenv("MAPBOX_ACCESS_TOKEN"); @@ -128,6 +136,11 @@ int main(int argc, char *argv[]) { map.setPitch(settings.pitch); map.setDebug(mbgl::MapDebugOptions(settings.debug)); + view->setOnlineStatusCallback([&settings, &fileSource]() { + settings.online = !settings.online; + fileSource.setOnlineStatus(settings.online); + mbgl::Log::Info(mbgl::Event::Setup, "Application is %s. Press `O` to toggle online status.", settings.online ? "online" : "offline"); + }); view->setChangeStyleCallback([&map] () { static uint8_t currentStyleIndex; |