summaryrefslogtreecommitdiff
path: root/include/mbgl/style/style_property.hpp
blob: fc34078decf54a7d887c055300775c450deebdc2 (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
#pragma once

#include <mbgl/util/feature.hpp>

namespace mbgl {
namespace style {

/**
 * @brief Generic representation of a style property.
 */
class StyleProperty {
public:
    enum class Kind : uint8_t { Undefined, Constant, Expression, Transition };
    StyleProperty(Value value_, Kind kind_) : value(std::move(value_)), kind(kind_) {}
    StyleProperty() = default;
    const Value& getValue() const { return value; }
    Value& getValue() { return value; }
    Kind getKind() const { return kind; }

private:
    Value value;
    Kind kind = Kind::Undefined;
};

} // namespace style
} // namespace mbgl