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 MGRS 64}; 65 66 67enum ViewContext 68{ 69 Still, 70 Animation 71}; 72 73 74enum MapQuality 75{ 76 OutlineQuality, 77 LowQuality, 78 NormalQuality, 79 HighQuality, 80 PrintQuality 81}; 82 83 84enum LabelPositionFlag 85{ 86 NoLabel, 87 LineStart, 88 LineCenter, 89 LineEnd, 90 IgnoreXMargin, 91 IgnoreYMargin 92}; 93 94typedef QFlags<Marble::LabelPositionFlag> LabelPositionFlags; 95 96 97enum LabelLocalization 98{ 99 CustomAndNative, 100 Custom, 101 Native 102}; 103 104 105enum DragLocation 106{ 107 KeepAxisVertically, 108 FollowMousePointer 109}; 110 111 112enum OnStartup 113{ 114 ShowHomeLocation, 115 LastLocationVisited 116}; 117 118 119enum AltitudeMode 120{ 121 ClampToGround, 122 RelativeToGround, 123 Absolute 124}; 125 126 127enum Pole 128{ 129 AnyPole, 130 NorthPole, 131 SouthPole 132}; 133 134 135class MarbleGlobal 136{ 137%TypeHeaderCode 138#include <MarbleGlobal.h> 139%End 140 141public: 142 static Marble::MarbleGlobal* getInstance (); 143 144private: 145 MarbleGlobal (); 146public: 147 ~MarbleGlobal (); 148//ig MarbleLocale* locale () const; 149 enum Profile 150 { 151 Default, 152 SmallScreen, 153 HighResolution 154 }; 155 typedef QFlags<Marble::MarbleGlobal::Profile> Profiles; 156 Marble::MarbleGlobal::Profiles profiles () const; 157 void setProfiles (Marble::MarbleGlobal::Profiles profiles); 158 static Marble::MarbleGlobal::Profiles detectProfiles (); 159}; 160// MarbleGlobal 161 162enum ProxyType 163{ 164 HttpProxy, 165 Socks5Proxy 166}; 167enum DownloadUsage 168{ 169 DownloadBulk, 170 DownloadBrowse 171}; 172enum FlyToMode 173{ 174 Automatic, 175 Instant, 176 Linear, 177 Jump 178}; 179enum SearchMode 180{ 181 GlobalSearch, 182 AreaSearch 183}; 184}; 185// Marble 186 187 188