/usr/include/marble/AutoNavigation.h is in libmarble-dev 4:4.13.0-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | //
// This file is part of the Marble Virtual Globe.
//
// This program is free software licensed under the GNU LGPL. You can
// find a copy of this license in LICENSE.txt in the top directory of
// the source code.
//
// Copyright 2010 Siddharth Srivastava <akssps011@gmail.com>
//
#ifndef ADJUSTNAVIGATION_H
#define ADJUSTNAVIGATION_H
#include "marble_export.h"
#include "GeoDataCoordinates.h"
#include <QWidget>
namespace Marble
{
class GeoDataCoordinates;
class MarbleModel;
class PositionTracking;
class ViewportParams;
class MARBLE_EXPORT AutoNavigation : public QObject
{
Q_OBJECT
public:
/**
* @brief Constructor
* @param widget the marble widget. It cannot be null.
* @param parent optional parent object
*/
explicit AutoNavigation( MarbleModel *model, const ViewportParams *viewport, QObject *parent = 0 );
/** Destructor */
~AutoNavigation();
/**
* An enum type
* Represents which recentering method is selected
*/
enum CenterMode {
DontRecenter = 0,
AlwaysRecenter = 1, /**< Enum Value AlwaysRecenter. Recenter always to the map center */
RecenterOnBorder = 2 /**< Enum Value RecenterOnBorder. Recenter when reaching map border */
};
/**
* @brief For Auto Centering adjustment of map in Navigation Mode
* @param recenterMode toggles among the recenteing method chosen
* @see CenterMode
*/
void setRecenter( CenterMode recenterMode );
/**
* @brief For Auto Zooming adjustment of map in Navigation Mode
* @param activate true to enable auto zooming
*/
void setAutoZoom( bool activate );
AutoNavigation::CenterMode recenterMode() const;
bool autoZoom() const;
public Q_SLOTS:
/**
* @brief For adjusting the gps location (recentering) or map(autozooming)
* @param position current gps location
* @param speed of the gps device
*/
void adjust( const GeoDataCoordinates &position, qreal speed );
/**
* Temporarily inhibits auto-centering and auto-zooming
*/
void inhibitAutoAdjustments();
Q_SIGNALS:
/**
* signal emitted when auto center is turned on (Always re-center, re-center when required ) or off(Disabled)
* @param recenterMode the mode for re-centering selected
*/
void recenterModeChanged( AutoNavigation::CenterMode mode );
/**
* signal emitted when auto zoom is toggled
*/
void autoZoomToggled( bool enabled );
void zoomIn( FlyToMode );
void zoomOut( FlyToMode );
void centerOn( const GeoDataCoordinates &position, bool animated );
private:
class Private;
Private * const d;
};
} //namespace marble
#endif // ADJUSTNAVIGATION_H
|