From 2a8a16e79fd1c62c0d172e8ca9048f5457a00650 Mon Sep 17 00:00:00 2001 From: Dan Paulat Date: Sat, 2 Mar 2024 23:41:37 -0600 Subject: [PATCH] Add map attribution to display --- scwx-qt/source/scwx/qt/map/overlay_layer.cpp | 26 ++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/scwx-qt/source/scwx/qt/map/overlay_layer.cpp b/scwx-qt/source/scwx/qt/map/overlay_layer.cpp index afd88b7f..540aa8d1 100644 --- a/scwx-qt/source/scwx/qt/map/overlay_layer.cpp +++ b/scwx-qt/source/scwx/qt/map/overlay_layer.cpp @@ -2,6 +2,7 @@ #include #include #include +#include #include #include #include @@ -355,6 +356,31 @@ void OverlayLayer::Render(const QMapLibre::CustomLayerRenderParameters& params) ImGui::End(); } + auto mapCopyrights = context()->map_copyrights(); + if (mapCopyrights.length() > 0) + { + auto attributionFont = manager::FontManager::Instance().GetImGuiFont( + types::FontCategory::Attribution); + + ImGui::SetNextWindowPos( + ImVec2 {static_cast(params.width), + static_cast(params.height) - + context()->color_table_margins().bottom()}, + ImGuiCond_Always, + ImVec2 {1.0f, 1.0f}); + ImGui::SetNextWindowBgAlpha(0.5f); + ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2 {3.0f, 2.0f}); + ImGui::PushFont(attributionFont->font()); + ImGui::Begin("Attribution", + nullptr, + ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | + ImGuiWindowFlags_AlwaysAutoResize); + ImGui::TextUnformatted(mapCopyrights.c_str()); + ImGui::End(); + ImGui::PopFont(); + ImGui::PopStyleVar(); + } + p->lastWidth_ = params.width; p->lastHeight_ = params.height; p->lastBearing_ = params.bearing;