mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 18:10:05 +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
	
	 Dan Paulat
						Dan Paulat