blob: 6e39dca24f7a1f2de71cc8e37f2b0cc2e61d6d08 (
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
35
36
37
38
39
40
41
|
#include <mbgl/style/conversion/transition_options.hpp>
#include <mbgl/style/conversion_impl.hpp>
namespace mbgl {
namespace style {
namespace conversion {
optional<TransitionOptions> Converter<TransitionOptions>::operator()(const Convertible& value, Error& error) const {
if (!isObject(value)) {
error.message = "transition must be an object";
return nullopt;
}
optional<TransitionOptions> result = TransitionOptions{};
auto duration = objectMember(value, "duration");
if (duration) {
auto number = toNumber(*duration);
if (!number) {
error.message = "duration must be a number";
return nullopt;
}
result->duration = { std::chrono::milliseconds(int64_t(*number)) };
}
auto delay = objectMember(value, "delay");
if (delay) {
auto number = toNumber(*delay);
if (!number) {
error.message = "delay must be a number";
return nullopt;
}
result->delay = { std::chrono::milliseconds(int64_t(*number)) };
}
return result;
}
} // namespace conversion
} // namespace style
} // namespace mbgl
|