mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-20 13:23:59 +00:00
committed by
Konstantin Pastbin
parent
c9cbb64f12
commit
76ffc99abd
48
libs/map/user_mark_layer.hpp
Normal file
48
libs/map/user_mark_layer.hpp
Normal file
@@ -0,0 +1,48 @@
|
||||
#pragma once
|
||||
|
||||
#include "map/user_mark.hpp"
|
||||
|
||||
#include <base/macros.hpp>
|
||||
|
||||
|
||||
class UserMarkLayer
|
||||
{
|
||||
public:
|
||||
explicit UserMarkLayer(UserMark::Type type);
|
||||
virtual ~UserMarkLayer() = default;
|
||||
|
||||
bool IsDirty() const { return m_isDirty; }
|
||||
void ResetChanges();
|
||||
|
||||
bool IsVisible() const;
|
||||
bool IsVisibilityChanged() const;
|
||||
UserMark::Type GetType() const;
|
||||
|
||||
kml::MarkIdSet const & GetUserMarks() const { return m_userMarks; }
|
||||
kml::TrackIdSet const & GetUserLines() const { return m_tracks; }
|
||||
|
||||
void AttachUserMark(kml::MarkId markId);
|
||||
void DetachUserMark(kml::MarkId markId);
|
||||
|
||||
void AttachTrack(kml::TrackId trackId);
|
||||
void DetachTrack(kml::TrackId trackId);
|
||||
|
||||
void Clear();
|
||||
bool IsEmpty() const;
|
||||
|
||||
virtual void SetIsVisible(bool isVisible);
|
||||
|
||||
protected:
|
||||
virtual void SetDirty(bool updateModificationDate = true) { m_isDirty = true; }
|
||||
|
||||
UserMark::Type m_type;
|
||||
|
||||
kml::MarkIdSet m_userMarks;
|
||||
kml::TrackIdSet m_tracks;
|
||||
|
||||
bool m_isDirty = true;
|
||||
bool m_isVisible = true;
|
||||
bool m_wasVisible = false;
|
||||
|
||||
DISALLOW_COPY_AND_MOVE(UserMarkLayer);
|
||||
};
|
||||
Reference in New Issue
Block a user