1#pragma once
2
3#include <mbgl/style/transition_options.hpp>
4#include <mbgl/map/camera.hpp>
5#include <mbgl/util/geo.hpp>
6
7#include <string>
8#include <vector>
9#include <memory>
10
11namespace mbgl {
12
13class FileSource;
14class Scheduler;
15
16namespace style {
17
18class Light;
19class Image;
20class Source;
21class Layer;
22
23class Style {
24public:
25 Style(Scheduler&, FileSource&, float pixelRatio);
26 ~Style();
27
28 void loadJSON(const std::string&);
29 void loadURL(const std::string&);
30
31 std::string getJSON() const;
32 std::string getURL() const;
33
34 // Defaults
35 std::string getName() const;
36 CameraOptions getDefaultCamera() const;
37
38 // TransitionOptions
39 TransitionOptions getTransitionOptions() const;
40 void setTransitionOptions(const TransitionOptions&);
41
42 // Light
43 Light* getLight();
44 const Light* getLight() const;
45
46 void setLight(std::unique_ptr<Light>);
47
48 // Images
49 const Image* getImage(const std::string&) const;
50 void addImage(std::unique_ptr<Image>);
51 void removeImage(const std::string&);
52
53 // Sources
54 std::vector< Source*> getSources();
55 std::vector<const Source*> getSources() const;
56
57 Source* getSource(const std::string&);
58 const Source* getSource(const std::string&) const;
59
60 void addSource(std::unique_ptr<Source>);
61 std::unique_ptr<Source> removeSource(const std::string& sourceID);
62
63 // Layers
64 std::vector< Layer*> getLayers();
65 std::vector<const Layer*> getLayers() const;
66
67 Layer* getLayer(const std::string&);
68 const Layer* getLayer(const std::string&) const;
69
70 void addLayer(std::unique_ptr<Layer>, const optional<std::string>& beforeLayerID = {});
71 std::unique_ptr<Layer> removeLayer(const std::string& layerID);
72
73 // Private implementation
74 class Impl;
75 const std::unique_ptr<Impl> impl;
76};
77
78} // namespace style
79} // namespace mbgl
80

source code of qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/style/style.hpp