File indexing completed on 2024-05-12 03:50:15

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2012 Dennis Nienhüser <nienhueser@kde.org>
0004 //
0005 
0006 
0007 #ifndef MARBLE_GEODATAOVERLAY_H
0008 #define MARBLE_GEODATAOVERLAY_H
0009 
0010 #include "geodata_export.h"
0011 #include "GeoDataFeature.h"
0012 
0013 class QColor;
0014 class QImage;
0015 
0016 namespace Marble
0017 {
0018 
0019 class GeoDataOverlayPrivate;
0020 
0021 /**
0022  */
0023 class GEODATA_EXPORT GeoDataOverlay: public GeoDataFeature
0024 {
0025  public:
0026     /** Constructor */
0027     GeoDataOverlay();
0028 
0029     ~GeoDataOverlay() override;
0030 
0031     GeoDataOverlay( const GeoDataOverlay &other );
0032 
0033     GeoDataOverlay& operator=( const GeoDataOverlay &other );
0034 
0035     QColor color() const;
0036 
0037     void setColor( const QColor &color );
0038 
0039     int drawOrder() const;
0040 
0041     void setDrawOrder( int order );
0042 
0043     QImage icon() const;
0044 
0045     void setIcon( const QImage &icon );
0046 
0047     void setIconFile( const QString &path );
0048 
0049     QString iconFile() const;
0050 
0051     /**
0052       * Returns the #iconFile as an absolute filename. Relative files are
0053       * resolved relative to the directory of the GeoDataDocument this overlay
0054       * is part of (@see fileName of GeoDataDocument)
0055       */
0056     QString absoluteIconFile() const;
0057 
0058 protected:
0059     explicit GeoDataOverlay(GeoDataOverlayPrivate *priv);
0060     GeoDataOverlay(const GeoDataOverlay& other, GeoDataOverlayPrivate *priv);
0061 
0062     bool equals(const GeoDataOverlay &other) const;
0063     using GeoDataFeature::equals;
0064 
0065  private:
0066     Q_DECLARE_PRIVATE(GeoDataOverlay)
0067 };
0068 
0069 }
0070 
0071 #endif