FileDocCategorySizeDatePackage
ResourceModifiers.javaAPI DocAndroid 5.1 API5785Thu Mar 12 22:22:42 GMT 2015com.android.test.hwuicompare

ResourceModifiers

public class ResourceModifiers extends Object

Fields Summary
public final android.graphics.BitmapShader
mRepeatShader
public final android.graphics.BitmapShader
mTranslatedShader
public final android.graphics.BitmapShader
mScaledShader
private final int
mTexWidth
private final int
mTexHeight
private final float
mDrawWidth
private final float
mDrawHeight
public final android.graphics.LinearGradient
mHorGradient
public final android.graphics.LinearGradient
mDiagGradient
public final android.graphics.LinearGradient
mVertGradient
public final android.graphics.RadialGradient
mRadGradient
public final android.graphics.SweepGradient
mSweepGradient
public final android.graphics.ComposeShader
mComposeShader
public final android.graphics.ComposeShader
mBadComposeShader
public final android.graphics.ComposeShader
mAnotherBadComposeShader
public final android.graphics.Bitmap
mBitmap
private final android.graphics.Matrix
mMtx1
private final android.graphics.Matrix
mMtx2
private final android.graphics.Matrix
mMtx3
public final float[]
mBitmapVertices
public final int[]
mBitmapColors
private static ResourceModifiers
sInstance
Constructors Summary
public ResourceModifiers(android.content.res.Resources resources)

            mBitmap = BitmapFactory.decodeResource(resources, R.drawable.sunset1);
            mTexWidth = mBitmap.getWidth();
            mTexHeight = mBitmap.getHeight();

            mDrawWidth = resources.getDimensionPixelSize(R.dimen.layer_width);
            mDrawHeight = resources.getDimensionPixelSize(R.dimen.layer_height);

            mRepeatShader = new BitmapShader(mBitmap, Shader.TileMode.REPEAT,
                    Shader.TileMode.REPEAT);

            mTranslatedShader = new BitmapShader(mBitmap, Shader.TileMode.REPEAT,
                    Shader.TileMode.REPEAT);
            mMtx1 = new Matrix();
            mMtx1.setTranslate(mTexWidth / 2.0f, mTexHeight / 2.0f);
            mMtx1.postRotate(45, 0, 0);
            mTranslatedShader.setLocalMatrix(mMtx1);

            mScaledShader = new BitmapShader(mBitmap, Shader.TileMode.MIRROR,
                    Shader.TileMode.MIRROR);
            mMtx2 = new Matrix();
            mMtx2.setScale(0.5f, 0.5f);
            mScaledShader.setLocalMatrix(mMtx2);

            mHorGradient = new LinearGradient(0.0f, 0.0f, 1.0f, 0.0f,
                    Color.RED, Color.GREEN, Shader.TileMode.CLAMP);
            mMtx3 = new Matrix();
            mMtx3.setScale(mDrawHeight, 1.0f);
            mMtx3.postRotate(-90.0f);
            mMtx3.postTranslate(0.0f, mDrawHeight);
            mHorGradient.setLocalMatrix(mMtx3);

            mDiagGradient = new LinearGradient(0.0f, 0.0f, mDrawWidth / 2.0f, mDrawHeight / 2.0f,
                    Color.BLUE, Color.RED, Shader.TileMode.CLAMP);

            mVertGradient = new LinearGradient(0.0f, 0.0f, 0.0f, mDrawHeight / 2.0f,
                    Color.YELLOW, Color.MAGENTA, Shader.TileMode.MIRROR);

            mSweepGradient = new SweepGradient(mDrawWidth / 2.0f, mDrawHeight / 2.0f,
                    Color.YELLOW, Color.MAGENTA);

            mComposeShader = new ComposeShader(mRepeatShader, mHorGradient,
                    PorterDuff.Mode.MULTIPLY);

            final float width = mBitmap.getWidth() / 8.0f;
            final float height = mBitmap.getHeight() / 8.0f;

            mBitmapVertices = new float[] {
                0.0f, 0.0f, width, 0.0f, width * 2, 0.0f, width * 3, 0.0f,
                0.0f, height, width, height, width * 2, height, width * 4, height,
                0.0f, height * 2, width, height * 2, width * 2, height * 2, width * 3, height * 2,
                0.0f, height * 4, width, height * 4, width * 2, height * 4, width * 4, height * 4,
            };

            mBitmapColors = new int[] {
                0xffff0000, 0xff00ff00, 0xff0000ff, 0xffff0000,
                0xff0000ff, 0xffff0000, 0xff00ff00, 0xff00ff00,
                0xff00ff00, 0xff0000ff, 0xffff0000, 0xff00ff00,
                0x00ff0000, 0x0000ff00, 0x000000ff, 0x00ff0000,
            };

            // Use a repeating gradient with many colors to test the non simple case.
            mRadGradient = new RadialGradient(mDrawWidth / 4.0f, mDrawHeight / 4.0f, 4.0f,
                    mBitmapColors, null, Shader.TileMode.REPEAT);

            mBadComposeShader = new ComposeShader(mRadGradient, mComposeShader,
                    PorterDuff.Mode.MULTIPLY);

            mAnotherBadComposeShader = new ComposeShader(mRadGradient, mVertGradient,
                    PorterDuff.Mode.MULTIPLY);
        
Methods Summary
public static voidinit(android.content.res.Resources resources)

            sInstance = new ResourceModifiers(resources);
        
public static com.android.test.hwuicompare.ResourceModifiersinstance()

             return sInstance;