| 
									
										
										
										
											2023-09-30 15:05:12 +02:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * CMapOverview.h, part of VCMI engine | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Authors: listed in file AUTHORS in main folder | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * License: GNU General Public License v2.0 or later | 
					
						
							|  |  |  |  * Full text of license available in license.txt file, in main folder | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #pragma once
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | VCMI_LIB_NAMESPACE_BEGIN | 
					
						
							|  |  |  | class CMap; | 
					
						
							|  |  |  | VCMI_LIB_NAMESPACE_END | 
					
						
							|  |  |  | #include "CWindowObject.h"
 | 
					
						
							|  |  |  | #include "../../lib/filesystem/ResourcePath.h"
 | 
					
						
							|  |  |  | #include "../gui/InterfaceObjectConfigurable.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class CSlider; | 
					
						
							|  |  |  | class CLabel; | 
					
						
							|  |  |  | class CPicture; | 
					
						
							|  |  |  | class CFilledTexture; | 
					
						
							|  |  |  | class CTextBox; | 
					
						
							|  |  |  | class IImage; | 
					
						
							|  |  |  | class Canvas; | 
					
						
							|  |  |  | class TransparentFilledRectangle; | 
					
						
							| 
									
										
										
										
											2024-01-21 16:48:36 +02:00
										 |  |  | enum class ESelectionScreen : ui8; | 
					
						
							| 
									
										
										
										
											2023-09-30 15:05:12 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-10-01 17:35:56 +02:00
										 |  |  | class CMapOverview; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class CMapOverviewWidget : public InterfaceObjectConfigurable | 
					
						
							| 
									
										
										
										
											2023-09-30 15:05:12 +02:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2023-10-01 17:35:56 +02:00
										 |  |  | 	CMapOverview& p; | 
					
						
							| 
									
										
										
										
											2023-09-30 15:05:12 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-10-01 17:35:56 +02:00
										 |  |  | 	bool drawPlayerElements; | 
					
						
							|  |  |  | 	std::vector<Canvas> minimaps; | 
					
						
							| 
									
										
										
										
											2023-09-30 23:50:27 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-10-01 17:35:56 +02:00
										 |  |  | 	Canvas createMinimapForLayer(std::unique_ptr<CMap> & map, int layer) const; | 
					
						
							|  |  |  | 	std::vector<Canvas> createMinimaps(ResourcePath resource) const; | 
					
						
							|  |  |  | 	std::vector<Canvas> createMinimaps(std::unique_ptr<CMap> & map) const; | 
					
						
							| 
									
										
										
										
											2023-09-30 15:05:12 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-10-01 17:35:56 +02:00
										 |  |  | 	std::shared_ptr<CPicture> buildDrawMinimap(const JsonNode & config) const; | 
					
						
							|  |  |  | public: | 
					
						
							|  |  |  | 	CMapOverviewWidget(CMapOverview& p); | 
					
						
							|  |  |  | }; | 
					
						
							| 
									
										
										
										
											2023-09-30 15:05:12 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-10-01 17:35:56 +02:00
										 |  |  | class CMapOverview : public CWindowObject | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2023-09-30 15:05:12 +02:00
										 |  |  | 	std::shared_ptr<CMapOverviewWidget> widget; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | public: | 
					
						
							| 
									
										
										
										
											2023-09-30 17:56:51 +02:00
										 |  |  | 	const ResourcePath resource; | 
					
						
							|  |  |  | 	const std::string mapName; | 
					
						
							|  |  |  | 	const std::string fileName; | 
					
						
							|  |  |  | 	const std::string date; | 
					
						
							| 
									
										
										
										
											2024-06-29 13:13:59 +02:00
										 |  |  | 	const std::string author; | 
					
						
							|  |  |  | 	const std::string version; | 
					
						
							| 
									
										
										
										
											2023-09-30 17:56:51 +02:00
										 |  |  | 	const ESelectionScreen tabType; | 
					
						
							| 
									
										
										
										
											2023-09-30 17:14:22 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-12 18:26:30 +00:00
										 |  |  | 	CMapOverview(const std::string & mapName, const std::string & fileName, const std::string & date, const std::string & author, const std::string & version, const ResourcePath & resource, ESelectionScreen tabType); | 
					
						
							| 
									
										
										
										
											2023-10-01 00:46:29 +02:00
										 |  |  | }; |