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 PLAYBACKFLYTOITEM_H 0007 #define PLAYBACKFLYTOITEM_H 0008 0009 #include "PlaybackItem.h" 0010 0011 #include <QDateTime> 0012 0013 namespace Marble 0014 { 0015 class GeoDataCoordinates; 0016 class GeoDataFlyTo; 0017 0018 class PlaybackFlyToItem : public PlaybackItem 0019 { 0020 Q_OBJECT 0021 public: 0022 explicit PlaybackFlyToItem( const GeoDataFlyTo* flyTo ); 0023 const GeoDataFlyTo* flyTo() const; 0024 double duration() const override; 0025 void play() override; 0026 void pause() override; 0027 void seek( double position ) override; 0028 void stop() override; 0029 void center( double t ); 0030 void setBefore(PlaybackFlyToItem* before); 0031 void setNext(PlaybackFlyToItem* next); 0032 void setStartCoordinates( const GeoDataCoordinates &coordinates ); 0033 void setFirst( bool isFirst ); 0034 0035 private Q_SLOTS: 0036 void playNext(); 0037 0038 private: 0039 const GeoDataFlyTo* m_flyTo; 0040 PlaybackFlyToItem* m_before; 0041 PlaybackFlyToItem* m_next; 0042 QDateTime m_start; 0043 QDateTime m_pause; 0044 bool m_isPlaying; 0045 bool m_isFirst; 0046 }; 0047 0048 } 0049 #endif