summaryrefslogtreecommitdiffstats
path: root/graphics/java
diff options
context:
space:
mode:
authorMike Reed <reed@google.com>2009-09-11 09:36:35 -0400
committerMike Reed <reed@google.com>2009-09-11 14:40:15 -0400
commit211db4a2874f1a2d0e7a8cb8d33e81fa08801763 (patch)
tree9c53656f75cc3d88ba7c5d2d8b86504b532be3b7 /graphics/java
parentd304ae583d862250a21b5949fc3dbdf3af1febac (diff)
downloadframeworks_base-211db4a2874f1a2d0e7a8cb8d33e81fa08801763.zip
frameworks_base-211db4a2874f1a2d0e7a8cb8d33e81fa08801763.tar.gz
frameworks_base-211db4a2874f1a2d0e7a8cb8d33e81fa08801763.tar.bz2
change default for dither to true
Diffstat (limited to 'graphics/java')
-rw-r--r--graphics/java/android/graphics/drawable/BitmapDrawable.java3
-rw-r--r--graphics/java/android/graphics/drawable/DrawableContainer.java15
-rw-r--r--graphics/java/android/graphics/drawable/NinePatchDrawable.java17
-rw-r--r--graphics/java/android/graphics/drawable/StateListDrawable.java14
4 files changed, 39 insertions, 10 deletions
diff --git a/graphics/java/android/graphics/drawable/BitmapDrawable.java b/graphics/java/android/graphics/drawable/BitmapDrawable.java
index 1755d4f..30cef67 100644
--- a/graphics/java/android/graphics/drawable/BitmapDrawable.java
+++ b/graphics/java/android/graphics/drawable/BitmapDrawable.java
@@ -56,7 +56,8 @@ import java.io.IOException;
*/
public class BitmapDrawable extends Drawable {
- private static final int DEFAULT_PAINT_FLAGS = Paint.FILTER_BITMAP_FLAG;
+ private static final int DEFAULT_PAINT_FLAGS =
+ Paint.FILTER_BITMAP_FLAG | Paint.DITHER_FLAG;
private BitmapState mBitmapState;
private Bitmap mBitmap;
private final Rect mDstRect = new Rect(); // Gravity.apply() sets this
diff --git a/graphics/java/android/graphics/drawable/DrawableContainer.java b/graphics/java/android/graphics/drawable/DrawableContainer.java
index 6b50406..af1a289 100644
--- a/graphics/java/android/graphics/drawable/DrawableContainer.java
+++ b/graphics/java/android/graphics/drawable/DrawableContainer.java
@@ -19,12 +19,23 @@ package android.graphics.drawable;
import android.graphics.*;
public class DrawableContainer extends Drawable implements Drawable.Callback {
-
+
+ /**
+ * To be proper, we should have a getter for dither (and alpha, etc.)
+ * so that proxy classes like this can save/restore their delegates'
+ * values, but we don't have getters. Since we do have setters
+ * (e.g. setDither), which this proxy forwards on, we have to have some
+ * default/initial setting.
+ *
+ * The initial setting for dither is now true, since it almost always seems
+ * to improve the quality at negligible cost.
+ */
+ private static final boolean DEFAULT_DITHER = true;
private DrawableContainerState mDrawableContainerState;
private Drawable mCurrDrawable;
private int mAlpha = 0xFF;
private ColorFilter mColorFilter;
- private boolean mDither;
+ private boolean mDither = DEFAULT_DITHER;
private int mCurIndex = -1;
private boolean mMutated;
diff --git a/graphics/java/android/graphics/drawable/NinePatchDrawable.java b/graphics/java/android/graphics/drawable/NinePatchDrawable.java
index 1b1ea94..924e19e 100644
--- a/graphics/java/android/graphics/drawable/NinePatchDrawable.java
+++ b/graphics/java/android/graphics/drawable/NinePatchDrawable.java
@@ -36,6 +36,8 @@ import java.io.InputStream;
*
*/
public class NinePatchDrawable extends Drawable {
+ // dithering helps a lot, and is pretty cheap, so default is true
+ private static final boolean DEFAULT_DITHER = true;
private NinePatchState mNinePatchState;
private NinePatch mNinePatch;
private Rect mPadding;
@@ -101,7 +103,11 @@ public class NinePatchDrawable extends Drawable {
mNinePatch = state.mNinePatch;
mPadding = state.mPadding;
mTargetDensity = state.mTargetDensity;
- if (state.mDither) setDither(state.mDither);
+ if (DEFAULT_DITHER != state.mDither) {
+ // avoid calling the setter unless we need to, since it does a
+ // lazy allocation of a paint
+ setDither(state.mDither);
+ }
if (mNinePatch != null) {
computeBitmapSize();
}
@@ -215,7 +221,8 @@ public class NinePatchDrawable extends Drawable {
}
final boolean dither = a.getBoolean(
- com.android.internal.R.styleable.NinePatchDrawable_dither, false);
+ com.android.internal.R.styleable.NinePatchDrawable_dither,
+ DEFAULT_DITHER);
final BitmapFactory.Options options = new BitmapFactory.Options();
if (dither) {
options.inDither = false;
@@ -251,12 +258,10 @@ public class NinePatchDrawable extends Drawable {
a.recycle();
}
-
public Paint getPaint() {
if (mPaint == null) {
mPaint = new Paint();
- // dithering helps a lot, and is pretty cheap, so default on
- mPaint.setDither(true);
+ mPaint.setDither(DEFAULT_DITHER);
}
return mPaint;
}
@@ -327,7 +332,7 @@ public class NinePatchDrawable extends Drawable {
int mTargetDensity = DisplayMetrics.DENSITY_DEFAULT;
NinePatchState(NinePatch ninePatch, Rect padding) {
- this(ninePatch, padding, false);
+ this(ninePatch, padding, DEFAULT_DITHER);
}
NinePatchState(NinePatch ninePatch, Rect rect, boolean dither) {
diff --git a/graphics/java/android/graphics/drawable/StateListDrawable.java b/graphics/java/android/graphics/drawable/StateListDrawable.java
index a8274b1..59cb226 100644
--- a/graphics/java/android/graphics/drawable/StateListDrawable.java
+++ b/graphics/java/android/graphics/drawable/StateListDrawable.java
@@ -50,6 +50,17 @@ import android.util.StateSet;
* @attr ref android.R.styleable#DrawableStates_state_pressed
*/
public class StateListDrawable extends DrawableContainer {
+ /**
+ * To be proper, we should have a getter for dither (and alpha, etc.)
+ * so that proxy classes like this can save/restore their delegates'
+ * values, but we don't have getters. Since we do have setters
+ * (e.g. setDither), which this proxy forwards on, we have to have some
+ * default/initial setting.
+ *
+ * The initial setting for dither is now true, since it almost always seems
+ * to improve the quality at negligible cost.
+ */
+ private static final boolean DEFAULT_DITHER = true;
private final StateListState mStateListState;
private boolean mMutated;
@@ -105,7 +116,8 @@ public class StateListDrawable extends DrawableContainer {
mStateListState.setConstantSize(a.getBoolean(
com.android.internal.R.styleable.StateListDrawable_constantSize, false));
- setDither(a.getBoolean(com.android.internal.R.styleable.StateListDrawable_dither, false));
+ setDither(a.getBoolean(com.android.internal.R.styleable.StateListDrawable_dither,
+ DEFAULT_DITHER));
a.recycle();