aboutsummaryrefslogtreecommitdiff
path: root/library/src/main/java/com/davemorrissey/labs/subscaleview/SubsamplingScaleImageView.java
diff options
context:
space:
mode:
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.java22
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.