File indexing completed on 2024-04-14 03:48:02

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2014 Dennis Nienhüser <nienhueser@kde.org>
0004 //
0005 
0006 #ifndef MARBLE_RENDERSTATE_H
0007 #define MARBLE_RENDERSTATE_H
0008 
0009 #include "marble_export.h"
0010 #include "MarbleGlobal.h"
0011 
0012 #include <QDebug>
0013 
0014 namespace Marble {
0015 
0016 class MARBLE_EXPORT RenderState
0017 {
0018 public:
0019     explicit RenderState( const QString &name = QString(), RenderStatus status=Complete );
0020     RenderState( const RenderState &other );
0021     RenderState& operator=( const RenderState &other );
0022     ~RenderState();
0023 
0024     RenderStatus status() const;
0025     QString name() const;
0026     int children() const;
0027     RenderState childAt( int index ) const;
0028     void addChild( const RenderState& child );
0029     operator QString() const;
0030 
0031 private:
0032     class Private;
0033     Private* const d;
0034 };
0035 
0036 } // namespace Marble
0037 
0038 #endif