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 }