summaryrefslogtreecommitdiff
path: root/platform/glfw/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/glfw/main.cpp')
-rw-r--r--platform/glfw/main.cpp13
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;