Marble

RenderPluginInterface.h
1// SPDX-License-Identifier: LGPL-2.1-or-later
2//
3// SPDX-FileCopyrightText: 2008 Torsten Rahn <tackat@kde.org>
4// SPDX-FileCopyrightText: 2008 Inge Wallin <inge@lysator.liu.se>
5//
6
7#ifndef MARBLE_RENDERPLUGININTERFACE_H
8#define MARBLE_RENDERPLUGININTERFACE_H
9
10#include "LayerInterface.h"
11#include "PluginInterface.h"
12
13#include <QStringList>
14
15namespace Marble
16{
17
18class RenderPlugin;
19
20/**
21 * @short The class that specifies the Marble layer interface of a plugin.
22 *
23 */
24
25class RenderPluginInterface : public PluginInterface, public LayerInterface
26{
27public:
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
66Q_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-2024 The KDE developers.
Generated on Fri Dec 27 2024 11:51:00 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.