File indexing completed on 2024-06-02 03:50:58
0001 // SPDX-FileCopyrightText: 2010 Jens-Michael Hoffmann <jmho@c-xx.com> 0002 // 0003 // SPDX-License-Identifier: LGPL-2.1-or-later 0004 0005 #include "DgmlBlendingTagHandler.h" 0006 0007 #include "DgmlAttributeDictionary.h" 0008 #include "DgmlElementDictionary.h" 0009 #include "GeoParser.h" 0010 #include "GeoSceneTileDataset.h" 0011 #include "MarbleDebug.h" 0012 0013 namespace Marble 0014 { 0015 namespace dgml 0016 { 0017 static GeoTagHandlerRegistrar registrar( GeoParser::QualifiedName( dgmlTag_Blending, 0018 dgmlTag_nameSpace20 ), 0019 new DgmlBlendingTagHandler ); 0020 0021 GeoNode* DgmlBlendingTagHandler::parse( GeoParser& parser ) const 0022 { 0023 // Check whether the tag is valid 0024 Q_ASSERT(parser.isStartElement() && parser.isValidElement(QLatin1String(dgmlTag_Blending))); 0025 0026 // Checking for parent item 0027 GeoStackItem parentItem = parser.parentElement(); 0028 if ( !parentItem.represents( dgmlTag_Texture ) && !parentItem.represents( dgmlTag_Vectortile )) 0029 return nullptr; 0030 0031 // Attribute name, default to "" 0032 const QString name = parser.attribute( dgmlAttr_name ).trimmed(); 0033 mDebug() << name; 0034 parentItem.nodeAs<GeoSceneTileDataset>()->setBlending( name ); 0035 return nullptr; 0036 } 0037 0038 0039 } 0040 }