in android/src/main/cpp/spectrumjni/JniConfiguration.cpp [39:97]
facebook::jni::local_ref<JConfiguration> JConfiguration::fromNative(
const Configuration& configuration) {
return newInstance(
// general
jni::optionalToNullableJavaObject<
decltype(configuration.general.optional_defaultBackgroundColor()),
image::JColor>(
configuration.general.optional_defaultBackgroundColor()),
jni::optionalToNullableJavaObject<
decltype(configuration.general.optional_interpretMetadata()),
jni::JBoolean>(configuration.general.optional_interpretMetadata()),
jni::optionalToNullableJavaObject<
decltype(configuration.general.optional_samplingMethod()),
JConfiguration::JSamplingMethod>(
configuration.general.optional_samplingMethod()),
jni::optionalToNullableJavaObject<
decltype(configuration.general
.optional_propagateChromaSamplingModeFromSource()),
jni::JBoolean>(configuration.general
.optional_propagateChromaSamplingModeFromSource()),
jni::optionalToNullableJavaObject<
folly::Optional<image::ChromaSamplingMode>,
image::JChromaSamplingMode>(
_chromaSamplingModeOverrideToChromaSamplingMode(
configuration.general.optional_chromaSamplingModeOverride())),
// jpeg
jni::optionalToNullableJavaObject<
decltype(configuration.jpeg.optional_useTrellis()),
jni::JBoolean>(configuration.jpeg.optional_useTrellis()),
jni::optionalToNullableJavaObject<
decltype(configuration.jpeg.optional_useProgressive()),
jni::JBoolean>(configuration.jpeg.optional_useProgressive()),
jni::optionalToNullableJavaObject<
decltype(configuration.jpeg.optional_useOptimizeScan()),
jni::JBoolean>(configuration.jpeg.optional_useOptimizeScan()),
jni::optionalToNullableJavaObject<
decltype(configuration.jpeg.optional_useCompatibleDcScanOpt()),
jni::JBoolean>(configuration.jpeg.optional_useCompatibleDcScanOpt()),
jni::optionalToNullableJavaObject<
decltype(configuration.jpeg.optional_usePsnrQuantTable()),
jni::JBoolean>(configuration.jpeg.optional_usePsnrQuantTable()),
// png
jni::optionalToNullableJavaObject<
decltype(configuration.png.optional_useInterlacing()),
jni::JBoolean>(configuration.png.optional_useInterlacing()),
jni::optionalToNullableJavaObject<
decltype(configuration.png.optional_compressionLevel()),
jni::JInteger>(configuration.png.optional_compressionLevel()),
// Webp
jni::optionalToNullableJavaObject<
decltype(configuration.webp.optional_method()),
jni::JInteger>(configuration.webp.optional_method()),
jni::optionalToNullableJavaObject<
decltype(configuration.webp.optional_imageHint()),
image::JImageHint>(configuration.webp.optional_imageHint()));
}