Marble

RenderPluginInterface.h
1 // SPDX-License-Identifier: LGPL-2.1-or-later
2 //
3 // SPDX-FileCopyrightText: 2008 Torsten Rahn <[email protected]>
4 // SPDX-FileCopyrightText: 2008 Inge Wallin <[email protected]>
5 //
6 
7 #ifndef MARBLE_RENDERPLUGININTERFACE_H
8 #define MARBLE_RENDERPLUGININTERFACE_H
9 
10 #include "PluginInterface.h"
11 #include "LayerInterface.h"
12 
13 class QStringList;
14 
15 namespace Marble
16 {
17 
18 class RenderPlugin;
19 
20 /**
21  * @short The class that specifies the Marble layer interface of a plugin.
22  *
23  */
24 
25 class RenderPluginInterface: public PluginInterface, public LayerInterface
26 {
27  public:
28  ~RenderPluginInterface() override;
29 
30  virtual void initialize() = 0;
31 
32  virtual bool isInitialized() const = 0;
33 
34  /**
35  * @brief Returns the name(s) of the backend that the plugin can render
36  *
37  * This method should return the name of the backend that the plugin
38  * can render. The string has to be the same one that is given
39  * for the attribute in the layer element of the DGML file that
40  * backend is able to process.
41  * Examples to replace available default backends would be "vector" or
42  * "texture". To provide a completely new kind of functionality please
43  * choose your own unique string.
44  */
45  virtual QStringList backendTypes() const = 0;
46 
47  /**
48  * @brief Return how the plugin settings should be used.
49  *
50  * FIXME: Document this
51  *
52  * Possible Values:
53  * "ALWAYS" -- the plugin renders at the preferred position
54  * no matter what got specified in the DGML file.
55  * "SPECIFIED" -- renders only in case it got specified in the
56  * DGML file.
57  * "SPECIFIED_ALWAYS" -- In case it got specified in the DGML file
58  * render according to the specification
59  * otherwise choose the preferred position
60  */
61  virtual QString renderPolicy() const = 0;
62 };
63 
64 }
65 
66 Q_DECLARE_INTERFACE( Marble::RenderPluginInterface, "org.kde.Marble.RenderPluginInterface/1.09" )
67 
68 #endif
This class specifies interface of a Marble plugin.
The class that specifies the Marble layer interface of a plugin.
virtual QStringList backendTypes() const =0
Returns the name(s) of the backend that the plugin can render.
virtual QString renderPolicy() const =0
Return how the plugin settings should be used.
Binds a QML item to a specific geodetic location in screen coordinates.
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon May 8 2023 03:53:22 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.