summaryrefslogtreecommitdiff
path: root/include/mbgl/map/projection_mode.hpp
blob: 4617371e15ec5a60f35aefed053a568475c1de3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#pragma once

#include <mbgl/util/optional.hpp>

#include <functional>

namespace mbgl {

/**
 * @brief Holds values for Axonometric rendering. All fields are
 * optional.
 */
struct ProjectionMode {
    ProjectionMode& withAxonometric(bool o) { axonometric = o; return *this; }
    ProjectionMode& withXSkew(double o) { xSkew = o; return *this; }
    ProjectionMode& withYSkew(double o) { ySkew = o; return *this; }

    /**
     * @brief Set to True to enable axonometric rendering, false otherwise.
     */
    optional<bool> axonometric;

    /**
     * @brief The X skew value represents how much to skew on the x-axis.
     */
    optional<double> xSkew;

    /**
     * @brief The Y skew value represents how much to skew on the y-axis.
     */
    optional<double> ySkew;
};

}  // namespace mbgl