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