summaryrefslogtreecommitdiff
path: root/platform/android/src/style/conversion/transition_options.hpp
blob: ae65a32194aba9bdfa49540e600b80451f3fb64f (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
#pragma once

#include "../../conversion/conversion.hpp"

#include <jni/jni.hpp>
#include <mbgl/style/transition_options.hpp>
#include "../../jni/local_object.hpp"
#include "../transition_options.hpp"

namespace mbgl {
namespace android {
namespace conversion {

template<>
struct Converter<jni::Object<TransitionOptions>, mbgl::style::TransitionOptions> {
    Result<jni::Object<TransitionOptions>> operator()(jni::JNIEnv &env, const mbgl::style::TransitionOptions &value) const {

        // Convert duration
        jlong duration =  std::chrono::duration_cast<std::chrono::milliseconds>(value.duration.value_or(mbgl::Duration::zero())).count();
        // Convert delay
        jlong delay = std::chrono::duration_cast<std::chrono::milliseconds>(value.delay.value_or(mbgl::Duration::zero())).count();

        // Create transition options
        return TransitionOptions::fromTransitionOptions(env, duration, delay);
    }
};

}
}
}