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