Marble
            
 
    7#include "KmlHeadingTagHandler.h" 
    9#include "MarbleDebug.h" 
   11#include "GeoDataCamera.h" 
   12#include "GeoDataIconStyle.h" 
   13#include "GeoDataOrientation.h" 
   15#include "KmlElementDictionary.h" 
   21KML_DEFINE_TAG_HANDLER(heading)
 
   23GeoNode *KmlheadingTagHandler::parse(GeoParser &parser)
 const 
   25    Q_ASSERT(parser.isStartElement() && parser.isValidElement(QLatin1StringView(kmlTag_heading)));
 
   27    GeoStackItem parentItem = parser.parentElement();
 
   29    int const heading = parser.readElementText().toInt();
 
   30    if (heading >= 0 && heading <= 360) {
 
   31        if (parentItem.represents(kmlTag_IconStyle)) {
 
   32            parentItem.nodeAs<GeoDataIconStyle>()->setHeading(heading);
 
   33        } 
else if (parentItem.represents(kmlTag_Camera)) {
 
   34            parentItem.nodeAs<GeoDataCamera>()->setHeading(heading);
 
   35        } 
else if (parentItem.represents(kmlTag_Orientation)) {
 
   36            parentItem.nodeAs<GeoDataOrientation>()->setHeading(heading);
 
   39        mDebug() << 
"Invalid heading value " << heading << 
", must be within 0..360. Using 0 instead.";
 
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.