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

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2014 Sanjiban Bairagya <sanjiban22393@gmail.com>
0004 //
0005 
0006 #ifndef PLAYBACKITEM_H
0007 #define PLAYBACKITEM_H
0008 
0009 #include <QObject>
0010 
0011 namespace Marble
0012 {
0013 
0014 class GeoDataContainer;
0015 class GeoDataCoordinates;
0016 class GeoDataFeature;
0017 class GeoDataPlacemark;
0018 
0019 class PlaybackItem : public QObject
0020 {
0021     Q_OBJECT
0022 public:
0023     ~PlaybackItem() override;
0024     virtual void play() = 0;
0025     virtual void pause() = 0;
0026     virtual void seek( double position ) = 0;
0027     virtual void stop() = 0;
0028     virtual double duration() const = 0;
0029 
0030 Q_SIGNALS:
0031     void finished();
0032     void centerOn( const GeoDataCoordinates &coordinates );
0033     void paused();
0034     void progressChanged( double seconds );
0035     void balloonShown( GeoDataPlacemark* );
0036     void balloonHidden();
0037     void updated( GeoDataFeature* );
0038     void added( GeoDataContainer *parent, GeoDataFeature *feature, int row );
0039     void removed( const GeoDataFeature *feature  );
0040 };
0041 }
0042 #endif