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