facebook::jni::local_ref JConfiguration::fromNative()

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()));
}