diff options
Diffstat (limited to 'library/src/main/java/com/davemorrissey/labs/subscaleview/SubsamplingScaleImageView.java')
-rw-r--r-- | library/src/main/java/com/davemorrissey/labs/subscaleview/SubsamplingScaleImageView.java | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/library/src/main/java/com/davemorrissey/labs/subscaleview/SubsamplingScaleImageView.java b/library/src/main/java/com/davemorrissey/labs/subscaleview/SubsamplingScaleImageView.java index 4298edd..a5a29f8 100644 --- a/library/src/main/java/com/davemorrissey/labs/subscaleview/SubsamplingScaleImageView.java +++ b/library/src/main/java/com/davemorrissey/labs/subscaleview/SubsamplingScaleImageView.java @@ -279,6 +279,8 @@ public class SubsamplingScaleImageView extends View { //The logical density of the display private float density; + // A global preference for bitmap format, available to decoder classes that respect it + private static Bitmap.Config preferredBitmapConfig; public SubsamplingScaleImageView(Context context, AttributeSet attr) { super(context, attr); @@ -336,6 +338,26 @@ public class SubsamplingScaleImageView extends View { } /** + * Get the current preferred configuration for decoding bitmaps. {@link ImageDecoder} and {@link ImageRegionDecoder} + * instances can read this and use it when decoding images. + * @return the preferred bitmap configuration, or null if none has been set. + */ + public static Bitmap.Config getPreferredBitmapConfig() { + return preferredBitmapConfig; + } + + /** + * Set a global preferred bitmap config shared by all view instances and applied to new instances + * initialised after the call is made. This is a hint only; the bundled {@link ImageDecoder} and + * {@link ImageRegionDecoder} classes all respect this (except when they were constructed with + * an instance-specific config) but custom decoder classes will not. + * @param preferredBitmapConfig the bitmap configuration to be used by future instances of the view. Pass null to restore the default. + */ + public static void setPreferredBitmapConfig(Bitmap.Config preferredBitmapConfig) { + SubsamplingScaleImageView.preferredBitmapConfig = preferredBitmapConfig; + } + + /** * Sets the image orientation. It's best to call this before setting the image file or asset, because it may waste * loading of tiles. However, this can be freely called at any time. * @param orientation orientation to be set. See ORIENTATION_ static fields for valid values. |