From 47c87422a0b020bd9418d171f2aa0ed3ba524ca9 Mon Sep 17 00:00:00 2001 From: tobrun Date: Wed, 18 Dec 2019 17:35:47 +0100 Subject: Revert "[core] Remove Map::cycleDebugOptions" This reverts commit 1e2cd1e086c3053f1cea075d7641b7f56cc7dfbf. --- include/mbgl/map/map.hpp | 1 + platform/android/src/native_map_view.cpp | 5 +++++ platform/android/src/native_map_view.hpp | 2 ++ platform/glfw/glfw_view.cpp | 26 +------------------------- platform/glfw/glfw_view.hpp | 1 - platform/qt/app/mapwindow.cpp | 3 +++ platform/qt/include/qmapboxgl.hpp | 2 ++ platform/qt/src/qmapboxgl.cpp | 9 +++++++++ src/mbgl/map/map.cpp | 24 ++++++++++++++++++++++++ 9 files changed, 47 insertions(+), 26 deletions(-) diff --git a/include/mbgl/map/map.hpp b/include/mbgl/map/map.hpp index a3794962c6..4757bb398c 100644 --- a/include/mbgl/map/map.hpp +++ b/include/mbgl/map/map.hpp @@ -120,6 +120,7 @@ public: // Debug void setDebug(MapDebugOptions); + void cycleDebugOptions(); MapDebugOptions getDebug() const; bool isFullyLoaded() const; diff --git a/platform/android/src/native_map_view.cpp b/platform/android/src/native_map_view.cpp index 617f633699..d586a29bfb 100644 --- a/platform/android/src/native_map_view.cpp +++ b/platform/android/src/native_map_view.cpp @@ -595,6 +595,10 @@ void NativeMapView::setDebug(JNIEnv&, jni::jboolean debug) { map->setDebug(debugOptions); } +void NativeMapView::cycleDebugOptions(JNIEnv&) { + map->cycleDebugOptions(); +} + jni::jboolean NativeMapView::getDebug(JNIEnv&) { return map->getDebug() != DebugOptions::NoDebug; } @@ -1168,6 +1172,7 @@ void NativeMapView::registerNative(jni::JNIEnv& env) { METHOD(&NativeMapView::updateMarker, "nativeUpdateMarker"), METHOD(&NativeMapView::addMarkers, "nativeAddMarkers"), METHOD(&NativeMapView::setDebug, "nativeSetDebug"), + METHOD(&NativeMapView::cycleDebugOptions, "nativeCycleDebugOptions"), METHOD(&NativeMapView::getDebug, "nativeGetDebug"), METHOD(&NativeMapView::isFullyLoaded, "nativeIsFullyLoaded"), METHOD(&NativeMapView::onLowMemory, "nativeOnLowMemory"), diff --git a/platform/android/src/native_map_view.hpp b/platform/android/src/native_map_view.hpp index 622c454b7d..964f17b6e8 100755 --- a/platform/android/src/native_map_view.hpp +++ b/platform/android/src/native_map_view.hpp @@ -151,6 +151,8 @@ public: void setDebug(JNIEnv&, jni::jboolean); + void cycleDebugOptions(JNIEnv&); + jni::jboolean getDebug(JNIEnv&); jni::jboolean isFullyLoaded(JNIEnv&); diff --git a/platform/glfw/glfw_view.cpp b/platform/glfw/glfw_view.cpp index 74dda734c0..9a2fefaade 100644 --- a/platform/glfw/glfw_view.cpp +++ b/platform/glfw/glfw_view.cpp @@ -180,7 +180,7 @@ void GLFWView::onKey(GLFWwindow *window, int key, int /*scancode*/, int action, glfwSetWindowShouldClose(window, true); break; case GLFW_KEY_TAB: - view->cycleDebugOptions(); + view->map->cycleDebugOptions(); break; case GLFW_KEY_X: if (!mods) @@ -496,30 +496,6 @@ void GLFWView::updateAnimatedAnnotations() { } } -void GLFWView::cycleDebugOptions() { - auto debug = map->getDebug(); -#if not MBGL_USE_GLES2 - if (debug & mbgl::MapDebugOptions::StencilClip) - debug = mbgl::MapDebugOptions::NoDebug; - else if (debug & mbgl::MapDebugOptions::Overdraw) - debug = mbgl::MapDebugOptions::StencilClip; -#else - if (debug & mbgl::MapDebugOptions::Overdraw) debug = mbgl::MapDebugOptions::NoDebug; -#endif // MBGL_USE_GLES2 - else if (debug & mbgl::MapDebugOptions::Collision) - debug = mbgl::MapDebugOptions::Overdraw; - else if (debug & mbgl::MapDebugOptions::Timestamps) - debug = debug | mbgl::MapDebugOptions::Collision; - else if (debug & mbgl::MapDebugOptions::ParseStatus) - debug = debug | mbgl::MapDebugOptions::Timestamps; - else if (debug & mbgl::MapDebugOptions::TileBorders) - debug = debug | mbgl::MapDebugOptions::ParseStatus; - else - debug = mbgl::MapDebugOptions::TileBorders; - - map->setDebug(debug); -} - void GLFWView::clearAnnotations() { for (const auto& id : annotationIDs) { map->removeAnnotation(id); diff --git a/platform/glfw/glfw_view.hpp b/platform/glfw/glfw_view.hpp index 9233bddfb9..dbe6ceb046 100644 --- a/platform/glfw/glfw_view.hpp +++ b/platform/glfw/glfw_view.hpp @@ -88,7 +88,6 @@ private: void updateAnimatedAnnotations(); void toggleCustomSource(); - void cycleDebugOptions(); void clearAnnotations(); void popAnnotation(); diff --git a/platform/qt/app/mapwindow.cpp b/platform/qt/app/mapwindow.cpp index 0a143280d3..6171c8bf35 100644 --- a/platform/qt/app/mapwindow.cpp +++ b/platform/qt/app/mapwindow.cpp @@ -400,6 +400,9 @@ void MapWindow::keyPressEvent(QKeyEvent *ev) } } break; + case Qt::Key_Tab: + m_map->cycleDebugOptions(); + break; default: break; } diff --git a/platform/qt/include/qmapboxgl.hpp b/platform/qt/include/qmapboxgl.hpp index 337991aa1c..7441b1aa18 100644 --- a/platform/qt/include/qmapboxgl.hpp +++ b/platform/qt/include/qmapboxgl.hpp @@ -153,6 +153,8 @@ public: qreal pixelRatio = 1); virtual ~QMapboxGL(); + void cycleDebugOptions(); + QString styleJson() const; QString styleUrl() const; diff --git a/platform/qt/src/qmapboxgl.cpp b/platform/qt/src/qmapboxgl.cpp index a4cadf8100..1fdfb6ef3a 100644 --- a/platform/qt/src/qmapboxgl.cpp +++ b/platform/qt/src/qmapboxgl.cpp @@ -582,6 +582,15 @@ QMapboxGL::~QMapboxGL() delete d_ptr; } +/*! + Cycles through several debug options like showing the tile borders, + tile numbers, expiration time and wireframe. +*/ +void QMapboxGL::cycleDebugOptions() +{ + d_ptr->mapObj->cycleDebugOptions(); +} + /*! \property QMapboxGL::styleJson \brief the map style JSON. diff --git a/src/mbgl/map/map.cpp b/src/mbgl/map/map.cpp index 2e585c3eff..3ea2fc43c6 100644 --- a/src/mbgl/map/map.cpp +++ b/src/mbgl/map/map.cpp @@ -434,6 +434,30 @@ void Map::setDebug(MapDebugOptions debugOptions) { impl->onUpdate(); } +void Map::cycleDebugOptions() { +#if not MBGL_USE_GLES2 + if (impl->debugOptions & MapDebugOptions::StencilClip) + impl->debugOptions = MapDebugOptions::NoDebug; + else if (impl->debugOptions & MapDebugOptions::Overdraw) + impl->debugOptions = MapDebugOptions::StencilClip; +#else + if (impl->debugOptions & MapDebugOptions::Overdraw) + impl->debugOptions = MapDebugOptions::NoDebug; +#endif // MBGL_USE_GLES2 + else if (impl->debugOptions & MapDebugOptions::Collision) + impl->debugOptions = MapDebugOptions::Overdraw; + else if (impl->debugOptions & MapDebugOptions::Timestamps) + impl->debugOptions = impl->debugOptions | MapDebugOptions::Collision; + else if (impl->debugOptions & MapDebugOptions::ParseStatus) + impl->debugOptions = impl->debugOptions | MapDebugOptions::Timestamps; + else if (impl->debugOptions & MapDebugOptions::TileBorders) + impl->debugOptions = impl->debugOptions | MapDebugOptions::ParseStatus; + else + impl->debugOptions = MapDebugOptions::TileBorders; + + impl->onUpdate(); +} + MapDebugOptions Map::getDebug() const { return impl->debugOptions; } -- cgit v1.2.1