1// 2// Copyright 2008 Simon Edwards <simon@simonzone.com> 3// 4// This library is free software; you can redistribute it and/or 5// modify it under the terms of the GNU Lesser General Public 6// License as published by the Free Software Foundation; either 7// version 2.1 of the License, or (at your option) any later version. 8// 9// This library is distributed in the hope that it will be useful, 10// but WITHOUT ANY WARRANTY; without even the implied warranty of 11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12// Lesser General Public License for more details. 13// 14// You should have received a copy of the GNU Lesser General Public 15// License along with this library. If not, see <http://www.gnu.org/licenses/>. 16// 17 18%ModuleHeaderCode 19#include <MarbleGlobal.h> 20%End 21 22 23namespace Marble 24{ 25 26enum TessellationFlag 27{ 28 NoTessellation, 29 Tessellate, 30 RespectLatitudeCircle, 31 FollowGround, 32 RotationIndicatesFill, 33 SkipLatLonNormalization 34}; 35 36typedef QFlags<Marble::TessellationFlag> TessellationFlags; 37 38 39enum Projection 40{ 41 Spherical, 42 Equirectangular, 43 Mercator 44}; 45 46 47 48 49enum Dimension 50{ 51 Latitude, 52 Longitude 53}; 54 55typedef QFlags<Marble::Dimension> Dimensions; 56 57 58enum AngleUnit 59{ 60 DMSDegree, 61 DecimalDegree, 62 UTM 63}; 64 65 66enum ViewContext 67{ 68 Still, 69 Animation 70}; 71 72 73enum MapQuality 74{ 75 OutlineQuality, 76 LowQuality, 77 NormalQuality, 78 HighQuality, 79 PrintQuality 80}; 81 82 83enum LabelPositionFlag 84{ 85 NoLabel, 86 LineStart, 87 LineCenter, 88 LineEnd, 89 IgnoreXMargin, 90 IgnoreYMargin 91}; 92 93typedef QFlags<Marble::LabelPositionFlag> LabelPositionFlags; 94 95 96enum LabelLocalization 97{ 98 CustomAndNative, 99 Custom, 100 Native 101}; 102 103 104enum DragLocation 105{ 106 KeepAxisVertically, 107 FollowMousePointer 108}; 109 110 111enum OnStartup 112{ 113 ShowHomeLocation, 114 LastLocationVisited 115}; 116 117 118enum AltitudeMode 119{ 120 ClampToGround, 121 RelativeToGround, 122 Absolute 123}; 124 125 126enum Pole 127{ 128 AnyPole, 129 NorthPole, 130 SouthPole 131}; 132 133 134class MarbleGlobal 135{ 136%TypeHeaderCode 137#include <MarbleGlobal.h> 138%End 139 140public: 141 static Marble::MarbleGlobal* getInstance (); 142 143private: 144 MarbleGlobal (); 145public: 146 ~MarbleGlobal (); 147//ig MarbleLocale* locale () const; 148 enum Profile 149 { 150 Default, 151 SmallScreen, 152 HighResolution 153 }; 154 typedef QFlags<Marble::MarbleGlobal::Profile> Profiles; 155 Marble::MarbleGlobal::Profiles profiles () const; 156 void setProfiles (Marble::MarbleGlobal::Profiles profiles); 157 static Marble::MarbleGlobal::Profiles detectProfiles (); 158}; 159// MarbleGlobal 160 161enum ProxyType 162{ 163 HttpProxy, 164 Socks5Proxy 165}; 166enum DownloadUsage 167{ 168 DownloadBulk, 169 DownloadBrowse 170}; 171enum FlyToMode 172{ 173 Automatic, 174 Instant, 175 Linear, 176 Jump 177}; 178}; 179// Marble 180 181 182