1// Copyright 2011 Simon Edwards <simon@simonzone.com> 2 3// Generated by twine2 4 5// This program is free software; you can redistribute it and/or modify 6// it under the terms of the GNU Library General Public License as 7// published by the Free Software Foundation; either version 2, or 8// (at your option) any later version. 9 10// This program is distributed in the hope that it will be useful, 11// but WITHOUT ANY WARRANTY; without even the implied warranty of 12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13// GNU General Public License for more details 14 15// You should have received a copy of the GNU Library General Public 16// License along with this program; if not, write to the 17// Free Software Foundation, Inc., 18// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 20namespace Marble 21{ 22class AutoNavigation : QObject 23{ 24%TypeHeaderCode 25#include <AutoNavigation.h> 26%End 27 28public: 29 explicit AutoNavigation (Marble::MarbleModel* model, const Marble::ViewportParams* viewport, QObject* parent /TransferThis/ = 0); 30 ~AutoNavigation (); 31 enum CenterMode 32 { 33 DontRecenter, 34 AlwaysRecenter, 35 RecenterOnBorder 36 }; 37 void setRecenter (Marble::AutoNavigation::CenterMode recenterMode); 38 void setAutoZoom (bool activate); 39 Marble::AutoNavigation::CenterMode recenterMode () const; 40 bool autoZoom () const; 41 void adjust (const Marble::GeoDataCoordinates& position, qreal speed); 42 void inhibitAutoAdjustments (); 43signals: 44 void recenterModeChanged (Marble::AutoNavigation::CenterMode mode); 45 void autoZoomToggled (bool enabled); 46 void zoomIn (Marble::FlyToMode); 47 void zoomOut (Marble::FlyToMode); 48 void centerOn (const Marble::GeoDataCoordinates& position, bool animated); 49}; 50}; 51