Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d68781ac authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change 24675 into eclair

* changes:
  change default for dither to true
parents b14a1419 211db4a2
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -107,6 +107,13 @@ void NinePatch_Draw(SkCanvas* canvas, const SkRect& bounds,
        return;
    }

    SkPaint defaultPaint;
    if (NULL == paint) {
        // matches default dither in NinePatchDrawable.java.
        defaultPaint.setDither(true);
        paint = &defaultPaint;
    }
    
    // if our canvas is GL, draw this as a mesh, which will be faster than
    // in parts (which is faster for raster)
    if (canvas && canvas->getViewport(NULL)) {
@@ -158,11 +165,6 @@ void NinePatch_Draw(SkCanvas* canvas, const SkRect& bounds,
    if (bitmap.getPixels() == NULL)
        return;

    SkPaint defaultPaint;
    if (NULL == paint) {
        paint = &defaultPaint;
    }

    const bool hasXfer = paint->getXfermode() != NULL;
    SkRect      dst;
    SkIRect     src;
+2 −1
Original line number Diff line number Diff line
@@ -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
+13 −2
Original line number Diff line number Diff line
@@ -20,11 +20,22 @@ 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;
+11 −6
Original line number Diff line number Diff line
@@ -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) {
+13 −1
Original line number Diff line number Diff line
@@ -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();