File indexing completed on 2024-05-05 03:49:47

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2009 Bastian Holst <bastianholst@gmx.de>
0004 //
0005 
0006 #ifndef MARBLE_GEOGRAPHICSITEMPRIVATE_H
0007 #define MARBLE_GEOGRAPHICSITEMPRIVATE_H
0008 
0009 #include "GeoGraphicsItem.h"
0010 
0011 // Marble
0012 #include "GeoDataStyle.h"
0013 #include "StyleBuilder.h"
0014 
0015 #include <QSet>
0016 
0017 namespace Marble
0018 {
0019 
0020 class GeoGraphicsItemPrivate
0021 {
0022  public:
0023     explicit GeoGraphicsItemPrivate( const GeoDataFeature *feature)
0024         : m_zValue( 0 ),
0025           m_minZoomLevel( 0 ),
0026           m_feature( feature ),
0027           m_styleBuilder(nullptr),
0028           m_highlighted( false )
0029     {
0030     }
0031 
0032     virtual ~GeoGraphicsItemPrivate()
0033     {
0034     }
0035 
0036     qreal m_zValue;
0037     GeoGraphicsItem::GeoGraphicsItemFlags m_flags;
0038 
0039     int m_minZoomLevel;
0040     const GeoDataFeature *m_feature;
0041     RenderContext m_renderContext;
0042     GeoDataStyle::ConstPtr m_style;
0043     const StyleBuilder *m_styleBuilder;
0044     QVector<const GeoDataRelation*> m_relations;
0045 
0046     QStringList m_paintLayers;
0047 
0048     // To highlight a placemark
0049     bool m_highlighted;
0050     GeoDataStyle::ConstPtr m_highlightStyle;
0051 };
0052 
0053 }
0054 
0055 #endif