[core] add raster-resampling property (#12176)
* update style-code for raster-resampling * implement user-defined raster-resampling * invert filter condition * raster-resampling -> raster-resampling-mode for darwin language conventions
This commit is contained in:
@@ -92,6 +92,13 @@ struct Converter<jni::jobject*, mbgl::style::CirclePitchScaleType> {
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct Converter<jni::jobject*, mbgl::style::RasterResamplingType> {
|
||||
Result<jni::jobject*> operator()(jni::JNIEnv& env, const mbgl::style::RasterResamplingType& value) const {
|
||||
return convert<jni::jobject*, std::string>(env, toString(value));
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct Converter<jni::jobject*, mbgl::style::HillshadeIlluminationAnchorType> {
|
||||
Result<jni::jobject*> operator()(jni::JNIEnv& env, const mbgl::style::HillshadeIlluminationAnchorType& value) const {
|
||||
|
||||
@@ -206,6 +206,20 @@ namespace conversion {
|
||||
}
|
||||
}
|
||||
|
||||
// raster-resampling
|
||||
inline std::string toString(mbgl::style::RasterResamplingType value) {
|
||||
switch (value) {
|
||||
case mbgl::style::RasterResamplingType::Linear:
|
||||
return "linear";
|
||||
break;
|
||||
case mbgl::style::RasterResamplingType::Nearest:
|
||||
return "nearest";
|
||||
break;
|
||||
default:
|
||||
throw std::runtime_error("Not implemented");
|
||||
}
|
||||
}
|
||||
|
||||
// hillshade-illumination-anchor
|
||||
inline std::string toString(mbgl::style::HillshadeIlluminationAnchorType value) {
|
||||
switch (value) {
|
||||
|
||||
@@ -149,6 +149,12 @@ namespace android {
|
||||
layer.as<mbgl::style::RasterLayer>()->RasterLayer::setRasterContrastTransition(options);
|
||||
}
|
||||
|
||||
jni::Object<jni::ObjectTag> RasterLayer::getRasterResampling(jni::JNIEnv& env) {
|
||||
using namespace mbgl::android::conversion;
|
||||
Result<jni::jobject*> converted = convert<jni::jobject*>(env, layer.as<mbgl::style::RasterLayer>()->RasterLayer::getRasterResampling());
|
||||
return jni::Object<jni::ObjectTag>(*converted);
|
||||
}
|
||||
|
||||
jni::Object<jni::ObjectTag> RasterLayer::getRasterFadeDuration(jni::JNIEnv& env) {
|
||||
using namespace mbgl::android::conversion;
|
||||
Result<jni::jobject*> converted = convert<jni::jobject*>(env, layer.as<mbgl::style::RasterLayer>()->RasterLayer::getRasterFadeDuration());
|
||||
@@ -193,6 +199,7 @@ namespace android {
|
||||
METHOD(&RasterLayer::getRasterContrastTransition, "nativeGetRasterContrastTransition"),
|
||||
METHOD(&RasterLayer::setRasterContrastTransition, "nativeSetRasterContrastTransition"),
|
||||
METHOD(&RasterLayer::getRasterContrast, "nativeGetRasterContrast"),
|
||||
METHOD(&RasterLayer::getRasterResampling, "nativeGetRasterResampling"),
|
||||
METHOD(&RasterLayer::getRasterFadeDuration, "nativeGetRasterFadeDuration"));
|
||||
}
|
||||
|
||||
|
||||
@@ -53,6 +53,8 @@ public:
|
||||
void setRasterContrastTransition(jni::JNIEnv&, jlong duration, jlong delay);
|
||||
jni::Object<TransitionOptions> getRasterContrastTransition(jni::JNIEnv&);
|
||||
|
||||
jni::Object<jni::ObjectTag> getRasterResampling(jni::JNIEnv&);
|
||||
|
||||
jni::Object<jni::ObjectTag> getRasterFadeDuration(jni::JNIEnv&);
|
||||
jni::jobject* createJavaPeer(jni::JNIEnv&);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user