File indexing completed on 2024-04-21 03:49:51
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2014 Sanjiban Bairagya <sanjiban22393@gmail.com> 0004 // 0005 0006 #ifndef PLAYBACKANIMATEDUPDATEITEM_H 0007 #define PLAYBACKANIMATEDUPDATEITEM_H 0008 0009 #include "PlaybackItem.h" 0010 0011 namespace Marble 0012 { 0013 0014 class GeoDataAnimatedUpdate; 0015 class GeoDataDocument; 0016 class GeoDataFeature; 0017 class GeoDataObject; 0018 0019 class PlaybackAnimatedUpdateItem : public PlaybackItem 0020 { 0021 Q_OBJECT 0022 public: 0023 explicit PlaybackAnimatedUpdateItem( GeoDataAnimatedUpdate *animatedUpdate ); 0024 const GeoDataAnimatedUpdate* animatedUpdate() const; 0025 double duration() const override; 0026 void play() override; 0027 void pause() override; 0028 void seek( double ) override; 0029 void stop() override; 0030 bool isApplied() const; 0031 0032 private: 0033 static bool canDelete(const GeoDataFeature &feature); 0034 GeoDataDocument* rootDocument( GeoDataObject *object ) const; 0035 GeoDataFeature* findFeature( GeoDataFeature* feature, const QString& id ) const; 0036 GeoDataAnimatedUpdate* m_animatedUpdate; 0037 QList<GeoDataFeature*> m_deletedObjects; 0038 GeoDataDocument* m_rootDocument; 0039 bool m_playing; 0040 }; 0041 0042 } 0043 #endif