File indexing completed on 2024-04-28 03:50:13

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_ATMOSPHEREPLUGIN_H
0008 #define MARBLE_ATMOSPHEREPLUGIN_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     AtmospherePlugin();
0026 
0027     explicit AtmospherePlugin( const MarbleModel *marbleModel );
0028 
0029     QStringList backendTypes() const override;
0030 
0031     QString renderPolicy() const override;
0032 
0033     QStringList renderPosition() const override;
0034 
0035     RenderType renderType() const override;
0036 
0037     QString name() const override;
0038 
0039     QString guiString() const override;
0040 
0041     QString nameId() const override;
0042 
0043     QString version() const override;
0044 
0045     QString description() const override;
0046 
0047     QIcon icon() const override;
0048 
0049     QString copyrightYears() const override;
0050 
0051     QVector<PluginAuthor> pluginAuthors() const override;
0052 
0053     qreal zValue() const override;
0054 
0055     void initialize() override;
0056 
0057     bool isInitialized() const override;
0058 
0059     bool render( GeoPainter *painter, ViewportParams *viewport, const QString& renderPos, GeoSceneLayer * layer = nullptr ) override;
0060     void repaintPixmap(const ViewportParams *viewParams);
0061 
0062 public Q_SLOTS:
0063     void updateTheme();
0064 
0065 private:
0066     QPixmap m_renderPixmap;
0067     QColor m_renderColor;
0068     int m_renderRadius;
0069 };
0070 
0071 }
0072 
0073 #endif // MARBLE_ATMOSPHEREPLUGIN_H