Add custom marker icons, and rework how marker icons are handled.

This commit is contained in:
AdenKoperczak 2024-12-09 13:47:01 -05:00
parent 3685599693
commit 5bb4a7f95a
10 changed files with 368 additions and 204 deletions

View file

@ -29,12 +29,17 @@ public:
void remove_marker(types::MarkerId id);
void move_marker(size_t from, size_t to);
void add_icon(const std::string& name, bool startup = false);
std::optional<types::MarkerIconInfo> get_icon(const std::string& name);
const std::unordered_map<std::string, types::MarkerIconInfo> get_icons();
void for_each(std::function<MarkerForEachFunc> func);
// Only use for testing
void set_marker_settings_path(const std::string& path);
static std::shared_ptr<MarkerManager> Instance();
static const std::string& getDefaultIconName();
signals:
void MarkersInitialized(size_t count);
@ -43,6 +48,10 @@ signals:
void MarkerAdded(types::MarkerId id);
void MarkerRemoved(types::MarkerId id);
void IconsReady();
void IconAdded(std::string name);
private:
class Impl;
std::unique_ptr<Impl> p;