From b09abc0ac1131e5502585ffd3ea1f8719355603c Mon Sep 17 00:00:00 2001 From: Dan Paulat Date: Sat, 2 Mar 2024 23:41:02 -0600 Subject: [PATCH] Add color table margins to map context --- scwx-qt/source/scwx/qt/map/color_table_layer.cpp | 8 ++++++++ scwx-qt/source/scwx/qt/map/map_context.cpp | 12 ++++++++++++ scwx-qt/source/scwx/qt/map/map_context.hpp | 3 +++ 3 files changed, 23 insertions(+) diff --git a/scwx-qt/source/scwx/qt/map/color_table_layer.cpp b/scwx-qt/source/scwx/qt/map/color_table_layer.cpp index 20d9c9dc..bdafce3f 100644 --- a/scwx-qt/source/scwx/qt/map/color_table_layer.cpp +++ b/scwx-qt/source/scwx/qt/map/color_table_layer.cpp @@ -181,6 +181,12 @@ void ColorTableLayer::Render( gl.glBindBuffer(GL_ARRAY_BUFFER, p->vbo_[0]); gl.glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(vertices), vertices); gl.glDrawArrays(GL_TRIANGLES, 0, 6); + + context()->set_color_table_margins(QMargins {0, 0, 0, 10}); + } + else + { + context()->set_color_table_margins(QMargins {}); } SCWX_GL_CHECK_ERROR(); @@ -200,6 +206,8 @@ void ColorTableLayer::Deinitialize() p->vao_ = GL_INVALID_INDEX; p->vbo_ = {GL_INVALID_INDEX}; p->texture_ = GL_INVALID_INDEX; + + context()->set_color_table_margins(QMargins {}); } } // namespace map diff --git a/scwx-qt/source/scwx/qt/map/map_context.cpp b/scwx-qt/source/scwx/qt/map/map_context.cpp index 14a9c559..d7e4f224 100644 --- a/scwx-qt/source/scwx/qt/map/map_context.cpp +++ b/scwx-qt/source/scwx/qt/map/map_context.cpp @@ -32,6 +32,8 @@ public: MapProvider mapProvider_ {MapProvider::Unknown}; std::string mapCopyrights_ {}; + QMargins colorTableMargins_ {}; + std::shared_ptr overlayProductView_ {nullptr}; std::shared_ptr radarProductView_; }; @@ -66,6 +68,11 @@ MapSettings& MapContext::settings() return p->settings_; } +QMargins MapContext::color_table_margins() const +{ + return p->colorTableMargins_; +} + float MapContext::pixel_ratio() const { return p->pixelRatio_; @@ -117,6 +124,11 @@ void MapContext::set_map_provider(MapProvider provider) p->mapProvider_ = provider; } +void MapContext::set_color_table_margins(const QMargins& margins) +{ + p->colorTableMargins_ = margins; +} + void MapContext::set_overlay_product_view( const std::shared_ptr& overlayProductView) { diff --git a/scwx-qt/source/scwx/qt/map/map_context.hpp b/scwx-qt/source/scwx/qt/map/map_context.hpp index 367c1006..55136886 100644 --- a/scwx-qt/source/scwx/qt/map/map_context.hpp +++ b/scwx-qt/source/scwx/qt/map/map_context.hpp @@ -5,6 +5,7 @@ #include #include +#include namespace scwx { @@ -40,6 +41,7 @@ public: std::string map_copyrights() const; MapProvider map_provider() const; MapSettings& settings(); + QMargins color_table_margins() const; float pixel_ratio() const; std::shared_ptr overlay_product_view() const; std::shared_ptr radar_product_view() const; @@ -51,6 +53,7 @@ public: void set_map(const std::shared_ptr& map); void set_map_copyrights(const std::string& copyrights); void set_map_provider(MapProvider provider); + void set_color_table_margins(const QMargins& margins); void set_overlay_product_view( const std::shared_ptr& overlayProductView); void set_pixel_ratio(float pixelRatio);