Skip to content

Commit

Permalink
Mark WebPWriteParams final, for extra safety
Browse files Browse the repository at this point in the history
  • Loading branch information
mateuszkwiecinski committed Aug 11, 2023
1 parent eab1e2a commit 4013fac
Show file tree
Hide file tree
Showing 2 changed files with 80 additions and 80 deletions.
106 changes: 53 additions & 53 deletions webp-imageio/api/webp-imageio.api
Original file line number Diff line number Diff line change
Expand Up @@ -52,71 +52,71 @@ public final class com/luciad/imageio/webp/WebPReadParam : javax/imageio/ImageRe
public final fun setUseThreads (Z)V
}

public class com/luciad/imageio/webp/WebPWriteParam : javax/imageio/ImageWriteParam {
public final class com/luciad/imageio/webp/WebPWriteParam : javax/imageio/ImageWriteParam {
public static final field Companion Lcom/luciad/imageio/webp/WebPWriteParam$Companion;
public static final field LOSSLESS_COMPRESSION I
public static final field LOSSY_COMPRESSION I
public static final field PREPROCESSING_FILTER_NONE I
public static final field PREPROCESSING_FILTER_PSEUDO_RANDOM_DITHERING I
public static final field PREPROCESSING_FILTER_SEGMENT_SMOOTH I
public fun <init> (Ljava/util/Locale;)V
public fun getAlphaCompressionAlgorithm ()I
public fun getAlphaFiltering ()I
public fun getAlphaQuality ()I
public fun getAutoAdjustFilterStrength ()Z
public final fun getAlphaCompressionAlgorithm ()I
public final fun getAlphaFiltering ()I
public final fun getAlphaQuality ()I
public final fun getAutoAdjustFilterStrength ()Z
public fun getCompressionQuality ()F
public final fun getCompressionType ()Lcom/luciad/imageio/webp/CompressionType;
public fun getEmulateJpegSize ()Z
public fun getEntropyAnalysisPassCount ()I
public fun getExact ()Z
public fun getFilterSharpness ()I
public fun getFilterStrength ()I
public fun getFilterType ()I
public fun getLowMemory ()Z
public fun getMethod ()I
public fun getNearLossless ()I
public fun getPartitionLimit ()I
public fun getPartitions ()I
public fun getPreprocessing ()I
public fun getQMax ()I
public fun getQMin ()I
public fun getSegments ()I
public fun getShowCompressed ()Z
public fun getSnsStrength ()I
public fun getTargetPSNR ()F
public fun getTargetSize ()I
public fun getThreadLevel ()I
public fun getUseDeltaPalette ()Z
public fun getUseSharpYUV ()Z
public fun setAlphaCompressionAlgorithm (I)V
public fun setAlphaFiltering (I)V
public fun setAlphaQuality (I)V
public fun setAutoAdjustFilterStrength (Z)V
public final fun getEmulateJpegSize ()Z
public final fun getEntropyAnalysisPassCount ()I
public final fun getExact ()Z
public final fun getFilterSharpness ()I
public final fun getFilterStrength ()I
public final fun getFilterType ()I
public final fun getLowMemory ()Z
public final fun getMethod ()I
public final fun getNearLossless ()I
public final fun getPartitionLimit ()I
public final fun getPartitions ()I
public final fun getPreprocessing ()I
public final fun getQMax ()I
public final fun getQMin ()I
public final fun getSegments ()I
public final fun getShowCompressed ()Z
public final fun getSnsStrength ()I
public final fun getTargetPSNR ()F
public final fun getTargetSize ()I
public final fun getThreadLevel ()I
public final fun getUseDeltaPalette ()Z
public final fun getUseSharpYUV ()Z
public final fun setAlphaCompressionAlgorithm (I)V
public final fun setAlphaFiltering (I)V
public final fun setAlphaQuality (I)V
public final fun setAutoAdjustFilterStrength (Z)V
public fun setCompressionQuality (F)V
public final fun setCompressionType (Lcom/luciad/imageio/webp/CompressionType;)V
public fun setCompressionType (Ljava/lang/String;)V
public fun setEmulateJpegSize (Z)V
public fun setEntropyAnalysisPassCount (I)V
public fun setExact (Z)V
public fun setFilterSharpness (I)V
public fun setFilterStrength (I)V
public fun setFilterType (I)V
public fun setLowMemory (Z)V
public fun setMethod (I)V
public fun setNearLossless (I)V
public fun setPartitionLimit (I)V
public fun setPartitions (I)V
public fun setPreprocessing (I)V
public fun setQMax (I)V
public fun setQMin (I)V
public fun setSegments (I)V
public fun setShowCompressed (Z)V
public fun setSnsStrength (I)V
public fun setTargetPSNR (F)V
public fun setTargetSize (I)V
public fun setThreadLevel (I)V
public fun setUseDeltaPalette (Z)V
public fun setUseSharpYUV (Z)V
public final fun setEmulateJpegSize (Z)V
public final fun setEntropyAnalysisPassCount (I)V
public final fun setExact (Z)V
public final fun setFilterSharpness (I)V
public final fun setFilterStrength (I)V
public final fun setFilterType (I)V
public final fun setLowMemory (Z)V
public final fun setMethod (I)V
public final fun setNearLossless (I)V
public final fun setPartitionLimit (I)V
public final fun setPartitions (I)V
public final fun setPreprocessing (I)V
public final fun setQMax (I)V
public final fun setQMin (I)V
public final fun setSegments (I)V
public final fun setShowCompressed (Z)V
public final fun setSnsStrength (I)V
public final fun setTargetPSNR (F)V
public final fun setTargetSize (I)V
public final fun setThreadLevel (I)V
public final fun setUseDeltaPalette (Z)V
public final fun setUseSharpYUV (Z)V
public fun unsetCompression ()V
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import com.luciad.imageio.webp.WebPWrapper.loadNativeLibrary
import java.util.Locale
import javax.imageio.ImageWriteParam

public open class WebPWriteParam(locale: Locale?) : ImageWriteParam(locale) {
public class WebPWriteParam(locale: Locale?) : ImageWriteParam(locale) {

internal val encoderOptions = WebPEncoderOptions()
private val defaultLossless = encoderOptions.lossless
Expand Down Expand Up @@ -56,142 +56,142 @@ public open class WebPWriteParam(locale: Locale?) : ImageWriteParam(locale) {
/**
* quality/speed trade-off (0=fast, 6=slower-better)
*/
public open var method: Int by encoderOptions::method
public var method: Int by encoderOptions::method

/**
* if non-zero, set the desired target size in bytes.
* Takes precedence over the @[.setCompressionQuality] parameter.
*/
public open var targetSize: Int by encoderOptions::targetSize
public var targetSize: Int by encoderOptions::targetSize

/**
* if non-zero, specifies the minimal distortion to try to achieve.
* Takes precedence over [.setTargetSize].
*/
public open var targetPSNR: Float by encoderOptions::targetPSNR
public var targetPSNR: Float by encoderOptions::targetPSNR

/**
* maximum number of segments to use
*/
public open var segments: Int by encoderOptions::segments
public var segments: Int by encoderOptions::segments

/**
* Spatial Noise Shaping. 0=off, 100=maximum.
*/
public open var snsStrength: Int by encoderOptions::snsStrength
public var snsStrength: Int by encoderOptions::snsStrength

/**
* range: [0 = off .. 100 = strongest]
*/
public open var filterStrength: Int by encoderOptions::filterStrength
public var filterStrength: Int by encoderOptions::filterStrength

/**
* range: [0 = off .. 7 = least sharp]
*/
public open var filterSharpness: Int by encoderOptions::filterSharpness
public var filterSharpness: Int by encoderOptions::filterSharpness

/**
* filtering type: 0 = simple, 1 = strong (only used if filter_strength > 0 or autofilter > 0)
*/
public open var filterType: Int by encoderOptions::filterType
public var filterType: Int by encoderOptions::filterType

/**
* Auto adjust filter's strength
*/
public open var autoAdjustFilterStrength: Boolean by encoderOptions::autoAdjustFilterStrength
public var autoAdjustFilterStrength: Boolean by encoderOptions::autoAdjustFilterStrength

/**
* Algorithm for encoding the alpha plane
* (0 = none, 1 = compressed with WebP lossless). Default is 1.
*/
public open var alphaCompressionAlgorithm: Int by encoderOptions::alphaCompressionAlgorithm
public var alphaCompressionAlgorithm: Int by encoderOptions::alphaCompressionAlgorithm

/**
* Predictive filtering method for alpha plane.
* 0: none, 1: fast, 2: best. Default if 1.
*/
public open var alphaFiltering: Int by encoderOptions::alphaFiltering
public var alphaFiltering: Int by encoderOptions::alphaFiltering

/**
* 0: smallest size, 100: lossless. Default is 100.
*/
public open var alphaQuality: Int by encoderOptions::alphaQuality
public var alphaQuality: Int by encoderOptions::alphaQuality

/**
* Number of entropy-analysis passes
*/
public open var entropyAnalysisPassCount: Int by encoderOptions::entropyAnalysisPassCount
public var entropyAnalysisPassCount: Int by encoderOptions::entropyAnalysisPassCount

/**
* if true, export the compressed picture back. In-loop filtering is not applied.
*/
public open var showCompressed: Boolean by encoderOptions::showCompressed
public var showCompressed: Boolean by encoderOptions::showCompressed

/**
* Preprocessing filter
* 0=none, 1=segment-smooth, 2=pseudo-random dithering
*/
public open var preprocessing: Int by encoderOptions::preprocessing
public var preprocessing: Int by encoderOptions::preprocessing

/**
* log2(number of token partitions) in [0..3]. Default is set to 0 for easier progressive decoding.
*/
public open var partitions: Int by encoderOptions::partitions
public var partitions: Int by encoderOptions::partitions

/**
* Quality degradation allowed to fit the 512k limit on prediction modes coding
* 0: no degradation, 100: maximum possible degradation
*/
public open var partitionLimit: Int by encoderOptions::partitionLimit
public var partitionLimit: Int by encoderOptions::partitionLimit

/**
* If true, compression parameters will be remapped to better match the expected output size from
* JPEG compression. Generally, the output size will be similar but the degradation will be lower.
*/
public open var emulateJpegSize: Boolean by encoderOptions::emulateJpegSize
public var emulateJpegSize: Boolean by encoderOptions::emulateJpegSize

/**
* If non-zero, try and use multi-threaded encoding.
*/
public open var threadLevel: Int by encoderOptions::threadLevel
public var threadLevel: Int by encoderOptions::threadLevel

/**
* If set, reduce memory usage (but increase CPU use).
*/
public open var lowMemory: Boolean by encoderOptions::lowMemory
public var lowMemory: Boolean by encoderOptions::lowMemory

/**
* Near lossless encoding
* 0 = max loss, 100 = off (default)
*/
public open var nearLossless: Int by encoderOptions::nearLossless
public var nearLossless: Int by encoderOptions::nearLossless

/**
* If non-zero, preserve the exact RGB values under transparent area.
* Otherwise, discard this invisible RGB information for better compression.
* The default value is false.
*/
public open var exact: Boolean by encoderOptions::exact
public var exact: Boolean by encoderOptions::exact

/**
* reserved for future lossless feature
*/
public open var useDeltaPalette: Boolean by encoderOptions::useDeltaPalette
public var useDeltaPalette: Boolean by encoderOptions::useDeltaPalette

/**
* if needed, use sharp (and slow) RGB->YUV conversion
*/
public open var useSharpYUV: Boolean by encoderOptions::useSharpYUV
public var useSharpYUV: Boolean by encoderOptions::useSharpYUV

/**
* minimum permissible quality factor
*/
public open var qMin: Int by encoderOptions::qMin
public var qMin: Int by encoderOptions::qMin

/**
* maximum permissible quality factor
*/
public open var qMax: Int by encoderOptions::qMax
public var qMax: Int by encoderOptions::qMax

public companion object {

Expand Down

0 comments on commit 4013fac

Please sign in to comment.