diff options
Diffstat (limited to 'platform/android/src/style/conversion/filter.hpp')
-rw-r--r-- | platform/android/src/style/conversion/filter.hpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/platform/android/src/style/conversion/filter.hpp b/platform/android/src/style/conversion/filter.hpp new file mode 100644 index 0000000000..fc36d3a044 --- /dev/null +++ b/platform/android/src/style/conversion/filter.hpp @@ -0,0 +1,31 @@ +#pragma once + +#include "../android_conversion.hpp" +#include <mbgl/style/conversion.hpp> +#include <mbgl/style/conversion/filter.hpp> + +#include <jni/jni.hpp> + +#include <tuple> +#include <map> + +namespace mbgl { +namespace android { +namespace conversion { + +inline optional<mbgl::style::Filter> toFilter(jni::JNIEnv& env, jni::Array<jni::Object<>> jfilter) { + mbgl::optional<mbgl::style::Filter> filter; + if (jfilter) { + Value filterValue(env, jfilter); + auto converted = mbgl::style::conversion::convert<mbgl::style::Filter>(filterValue); + if (!converted) { + mbgl::Log::Error(mbgl::Event::JNI, "Error converting filter: " + converted.error().message); + } + filter = std::move(*converted); + } + return filter; +} + +} // namespace conversion +} // namespace android +} // namespace mbgl
\ No newline at end of file |