File indexing completed on 2024-11-24 04:15:41

0001 /*
0002     SPDX-FileCopyrightText: 2021 Volker Krause <vkrause@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #ifndef KOSMINDOORMAP_MAPCSSSTYLE_P_H
0008 #define KOSMINDOORMAP_MAPCSSSTYLE_P_H
0009 
0010 #include "mapcsstypes.h"
0011 
0012 #include <osm/element.h>
0013 
0014 #include <memory>
0015 #include <vector>
0016 
0017 namespace KOSMIndoorMap {
0018 
0019 class MapCSSRule;
0020 
0021 class MapCSSStylePrivate {
0022 public:
0023     std::vector<std::unique_ptr<MapCSSRule>> m_rules;
0024     OSM::StringKeyRegistry<ClassSelectorKey> m_classSelectorRegistry;
0025     OSM::StringKeyRegistry<LayerSelectorKey> m_layerSelectorRegistry;
0026 
0027     OSM::TagKey m_areaKey;
0028     OSM::TagKey m_typeKey;
0029 
0030     inline static MapCSSStylePrivate* get(MapCSSStyle *style) { return style->d.get(); }
0031 };
0032 
0033 }
0034 
0035 #endif // KOSMINDOORMAP_MAPCSSSTYLE_P_H