File indexing completed on 2025-01-05 03:59:24

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2010-2012 Bernhard Beschow <bbeschow@cs.tu-berlin.de>
0004 // SPDX-FileCopyrightText: 2011 Jens-Michael Hoffmann <jmho@c-xx.com>
0005 //
0006 
0007 #ifndef MARBLE_ATMOSPHERE_PLUGIN_H
0008 #define MARBLE_ATMOSPHERE_PLUGIN_H
0009 
0010 #include "RenderPlugin.h"
0011 
0012 #include <QPixmap>
0013 
0014 namespace Marble
0015 {
0016 
0017 class AtmospherePlugin : public RenderPlugin
0018 {
0019     Q_OBJECT
0020     Q_PLUGIN_METADATA(IID "org.kde.marble.AtmospherePlugin")
0021     Q_INTERFACES( Marble::RenderPluginInterface )
0022     MARBLE_PLUGIN( AtmospherePlugin )
0023 
0024 public:
0025 
0026     AtmospherePlugin();
0027 
0028     explicit AtmospherePlugin( const MarbleModel *marbleModel );
0029 
0030     QStringList backendTypes() const override;
0031 
0032     QString renderPolicy() const override;
0033 
0034     QStringList renderPosition() const override;
0035 
0036     RenderType renderType() const override;
0037 
0038     QString name() const override;
0039 
0040     QString guiString() const override;
0041 
0042     QString nameId() const override;
0043 
0044     QString version() const override;
0045 
0046     QString description() const override;
0047 
0048     QIcon icon() const override;
0049 
0050     QString copyrightYears() const override;
0051 
0052     QVector<PluginAuthor> pluginAuthors() const override;
0053 
0054     qreal zValue() const override;
0055 
0056     void initialize() override;
0057 
0058     bool isInitialized() const override;
0059 
0060     bool render( GeoPainter *painter, ViewportParams *viewport, const QString& renderPos, GeoSceneLayer * layer = nullptr ) override;
0061     void repaintPixmap(const ViewportParams *viewParams);
0062 
0063 public Q_SLOTS:
0064 
0065     void updateTheme();
0066 
0067 private:
0068 
0069     QPixmap m_renderPixmap;
0070     QColor m_renderColor;
0071     int m_renderRadius;
0072 };
0073 
0074 } // namespace Marble
0075 
0076 #endif // MARBLE_ATMOSPHERE_PLUGIN_H