File indexing completed on 2024-05-12 03:51:39
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2008 Torsten Rahn <tackat@kde.org> 0004 // SPDX-FileCopyrightText: 2011 Bernhard Beschow <bbeschow@cs.tu-berlin.de> 0005 // 0006 0007 #ifndef MARBLESUNPLUGIN_H 0008 #define MARBLESUNPLUGIN_H 0009 0010 #include "RenderPlugin.h" 0011 0012 #include <QPixmap> 0013 0014 namespace Marble 0015 { 0016 0017 /** 0018 * @short The class that specifies the Marble layer interface of a plugin. 0019 * 0020 */ 0021 0022 class SunPlugin : public RenderPlugin 0023 { 0024 Q_OBJECT 0025 Q_PLUGIN_METADATA(IID "org.kde.marble.SunPlugin") 0026 Q_INTERFACES( Marble::RenderPluginInterface ) 0027 MARBLE_PLUGIN( SunPlugin ) 0028 public: 0029 SunPlugin(); 0030 0031 explicit SunPlugin( const MarbleModel *marbleModel ); 0032 0033 QStringList backendTypes() const override; 0034 0035 QString renderPolicy() const override; 0036 0037 QStringList renderPosition() const override; 0038 0039 QString name() const override; 0040 0041 QString guiString() const override; 0042 0043 QString nameId() const override; 0044 0045 QString version() const override; 0046 0047 QString description() const override; 0048 0049 QString copyrightYears() const override; 0050 0051 QVector<PluginAuthor> pluginAuthors() const override; 0052 0053 QIcon icon () 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 0061 private: 0062 QPixmap m_pixmap; 0063 }; 0064 0065 } 0066 0067 #endif // MARBLESUNPLUGIN_H