File indexing completed on 2025-01-05 03:58:55
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2013 Mayank Madan <maddiemadan@gmail.com> 0004 // 0005 0006 0007 #ifndef MARBLE_GEODATAFLYTO_H 0008 #define MARBLE_GEODATAFLYTO_H 0009 0010 #include "GeoDataTourPrimitive.h" 0011 #include "MarbleGlobal.h" 0012 0013 namespace Marble { 0014 0015 class GeoDataAbstractView; 0016 class GeoDataFlyToPrivate; 0017 0018 /** 0019 */ 0020 class DIGIKAM_EXPORT GeoDataFlyTo: public GeoDataTourPrimitive 0021 { 0022 public: 0023 enum FlyToMode { 0024 Bounce, 0025 Smooth 0026 }; 0027 0028 GeoDataFlyTo(); 0029 0030 GeoDataFlyTo( const GeoDataFlyTo &other ); 0031 0032 GeoDataFlyTo& operator=( const GeoDataFlyTo &other ); 0033 bool operator==( const GeoDataFlyTo& other ) const; 0034 bool operator!=( const GeoDataFlyTo& other ) const; 0035 0036 ~GeoDataFlyTo() override; 0037 0038 /** Provides type information for downcasting a GeoNode */ 0039 const char* nodeType() const override; 0040 0041 double duration() const; 0042 0043 void setDuration( double duration ); 0044 0045 const GeoDataAbstractView *view() const; 0046 0047 GeoDataAbstractView *view(); 0048 0049 void setView( GeoDataAbstractView *view ); 0050 0051 FlyToMode flyToMode() const; 0052 0053 void setFlyToMode( const FlyToMode flyToMode ); 0054 0055 private: 0056 GeoDataFlyToPrivate* const d; 0057 }; 0058 0059 } 0060 0061 #endif