mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-11-01 09:30:06 +00:00
Add animation to new alert layer
This commit is contained in:
parent
c60f10707f
commit
4410b854c4
1 changed files with 16 additions and 0 deletions
|
|
@ -1,6 +1,7 @@
|
||||||
#include <scwx/qt/map/alert_layer.hpp>
|
#include <scwx/qt/map/alert_layer.hpp>
|
||||||
#include <scwx/qt/gl/draw/geo_lines.hpp>
|
#include <scwx/qt/gl/draw/geo_lines.hpp>
|
||||||
#include <scwx/qt/manager/text_event_manager.hpp>
|
#include <scwx/qt/manager/text_event_manager.hpp>
|
||||||
|
#include <scwx/qt/manager/timeline_manager.hpp>
|
||||||
#include <scwx/qt/settings/palette_settings.hpp>
|
#include <scwx/qt/settings/palette_settings.hpp>
|
||||||
#include <scwx/qt/util/color.hpp>
|
#include <scwx/qt/util/color.hpp>
|
||||||
#include <scwx/util/logger.hpp>
|
#include <scwx/util/logger.hpp>
|
||||||
|
|
@ -157,6 +158,8 @@ public:
|
||||||
std::unordered_map<bool, std::shared_ptr<gl::draw::GeoLines>> lines_;
|
std::unordered_map<bool, std::shared_ptr<gl::draw::GeoLines>> lines_;
|
||||||
|
|
||||||
std::unordered_map<bool, boost::gil::rgba8_pixel_t> lineColor_;
|
std::unordered_map<bool, boost::gil::rgba8_pixel_t> lineColor_;
|
||||||
|
|
||||||
|
std::chrono::system_clock::time_point selectedTime_ {};
|
||||||
};
|
};
|
||||||
|
|
||||||
AlertLayer::AlertLayer(std::shared_ptr<MapContext> context,
|
AlertLayer::AlertLayer(std::shared_ptr<MapContext> context,
|
||||||
|
|
@ -192,6 +195,11 @@ void AlertLayer::Render(const QMapLibre::CustomLayerRenderParameters& params)
|
||||||
{
|
{
|
||||||
gl::OpenGLFunctions& gl = context()->gl();
|
gl::OpenGLFunctions& gl = context()->gl();
|
||||||
|
|
||||||
|
for (auto alertActive : {false, true})
|
||||||
|
{
|
||||||
|
p->lines_.at(alertActive)->set_selected_time(p->selectedTime_);
|
||||||
|
}
|
||||||
|
|
||||||
DrawLayer::Render(params);
|
DrawLayer::Render(params);
|
||||||
|
|
||||||
SCWX_GL_CHECK_ERROR();
|
SCWX_GL_CHECK_ERROR();
|
||||||
|
|
@ -294,6 +302,8 @@ void AlertLayerHandler::HandleAlert(const types::TextEventKey& key,
|
||||||
|
|
||||||
void AlertLayer::Impl::ConnectSignals()
|
void AlertLayer::Impl::ConnectSignals()
|
||||||
{
|
{
|
||||||
|
auto timelineManager = manager::TimelineManager::Instance();
|
||||||
|
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
&AlertLayerHandler::Instance(),
|
&AlertLayerHandler::Instance(),
|
||||||
&AlertLayerHandler::AlertAdded,
|
&AlertLayerHandler::AlertAdded,
|
||||||
|
|
@ -307,6 +317,12 @@ void AlertLayer::Impl::ConnectSignals()
|
||||||
AddAlert(segmentRecord);
|
AddAlert(segmentRecord);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
QObject::connect(timelineManager.get(),
|
||||||
|
&manager::TimelineManager::SelectedTimeUpdated,
|
||||||
|
receiver_.get(),
|
||||||
|
[this](std::chrono::system_clock::time_point dateTime)
|
||||||
|
{ selectedTime_ = dateTime; });
|
||||||
}
|
}
|
||||||
|
|
||||||
void AlertLayer::Impl::AddAlert(
|
void AlertLayer::Impl::AddAlert(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue