Marble
6#include "KmlShapeTagHandler.h"
8#include "MarbleDebug.h"
10#include "GeoDataParser.h"
11#include "GeoDataPhotoOverlay.h"
12#include "KmlElementDictionary.h"
18KML_DEFINE_TAG_HANDLER(shape)
20GeoNode *KmlshapeTagHandler::parse(GeoParser &parser)
const
22 Q_ASSERT(parser.isStartElement() && parser.isValidElement(QLatin1StringView(kmlTag_shape)));
24 GeoStackItem parentItem = parser.parentElement();
26 if (parentItem.represents(kmlTag_PhotoOverlay)) {
27 GeoDataPhotoOverlay::Shape shape;
28 QString shapeText = parser.readElementText();
30 if (shapeText == QLatin1StringView(
"rectangle")) {
31 shape = GeoDataPhotoOverlay::Rectangle;
32 }
else if (shapeText == QLatin1StringView(
"cylinder")) {
33 shape = GeoDataPhotoOverlay::Cylinder;
34 }
else if (shapeText == QLatin1StringView(
"sphere")) {
35 shape = GeoDataPhotoOverlay::Sphere;
37 mDebug() <<
"Unknown shape attribute" << shapeText <<
", falling back to default value 'rectangle'";
38 shape = GeoDataPhotoOverlay::Rectangle;
41 parentItem.nodeAs<GeoDataPhotoOverlay>()->setShape(shape);
Binds a QML item to a specific geodetic location in screen coordinates.
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri May 2 2025 12:01:32 by
doxygen 1.13.2 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.