File indexing completed on 2024-05-05 03:50:53

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2008 Torsten Rahn <tackat@kde.org>
0004 //
0005 
0006 //
0007 // This class is a test plugin.
0008 //
0009 
0010 #ifndef MARBLETESTPLUGIN_H
0011 #define MARBLETESTPLUGIN_H
0012 
0013 #include "RenderPlugin.h"
0014 
0015 namespace Marble
0016 {
0017 
0018 /**
0019  * @short The class that specifies the Marble layer interface of a plugin.
0020  *
0021  */
0022 
0023 class TestPlugin : public RenderPlugin
0024 {
0025     Q_OBJECT
0026     Q_PLUGIN_METADATA(IID "org.kde.marble.TestPlugin")
0027     Q_INTERFACES( Marble::RenderPluginInterface )
0028     MARBLE_PLUGIN( TestPlugin )
0029 
0030  public:
0031     TestPlugin();
0032     explicit TestPlugin(const MarbleModel *marbleModel);
0033 
0034     QStringList backendTypes() const;
0035 
0036     QString renderPolicy() const;
0037 
0038     QStringList renderPosition() const;
0039 
0040     QString name() const;
0041 
0042     QString guiString() const;
0043 
0044     QString nameId() const;
0045 
0046     QString version() const override;
0047 
0048     QString description() const;
0049 
0050     QIcon icon () const;
0051 
0052     QString copyrightYears() const override;
0053 
0054     QVector<PluginAuthor> pluginAuthors() const override;
0055 
0056     void initialize ();
0057 
0058     bool isInitialized () const;
0059 
0060 
0061     bool render( GeoPainter *painter, ViewportParams *viewport, const QString& renderPos, GeoSceneLayer * layer = 0 );
0062 };
0063 
0064 }
0065 
0066 #endif // MARBLETESTPLUGIN_H