1 #pragma once
2 
3 #include <cstdint>
4 
5 namespace mbgl {
6 
7 namespace style {
8 
9 // TODO: should be in public source.hpp header
10 enum class SourceType : uint8_t {
11     Vector,
12     Raster,
13     RasterDEM,
14     GeoJSON,
15     Video,
16     Annotations,
17     Image,
18     CustomVector
19 };
20 
21 enum class VisibilityType : bool {
22     Visible,
23     None,
24 };
25 
26 enum class LineCapType : uint8_t {
27     Round,
28     Butt,
29     Square,
30 };
31 
32 enum class LineJoinType : uint8_t {
33     Miter,
34     Bevel,
35     Round,
36     // the following two types are for internal use only
37     FakeRound,
38     FlipBevel
39 };
40 
41 enum class RasterResamplingType : bool {
42     Linear,
43     Nearest
44 };
45 
46 enum class HillshadeIlluminationAnchorType : bool {
47     Map,
48     Viewport
49 };
50 
51 enum class TranslateAnchorType : bool {
52     Map,
53     Viewport
54 };
55 
56 enum class RotateAnchorType : bool {
57     Map,
58     Viewport,
59 };
60 
61 enum class CirclePitchScaleType : bool {
62     Map,
63     Viewport,
64 };
65 
66 enum class SymbolPlacementType : uint8_t {
67     Point,
68     Line,
69     LineCenter
70 };
71 
72 enum class AlignmentType : uint8_t {
73     Map,
74     Viewport,
75     Auto,
76 };
77 
78 enum class TextJustifyType : uint8_t {
79     Center,
80     Left,
81     Right
82 };
83 
84 enum class SymbolAnchorType : uint8_t {
85     Center,
86     Left,
87     Right,
88     Top,
89     Bottom,
90     TopLeft,
91     TopRight,
92     BottomLeft,
93     BottomRight
94 };
95 
96 enum class TextTransformType : uint8_t {
97     None,
98     Uppercase,
99     Lowercase,
100 };
101 
102 enum class IconTextFitType : uint8_t {
103     None,
104     Both,
105     Width,
106     Height
107 };
108 
109 enum class LightAnchorType: bool {
110     Map,
111     Viewport
112 };
113 
114 } // namespace style
115 } // namespace mbgl
116