diff options
author | Romain Guy <romainguy@google.com> | 2010-09-20 19:04:33 -0700 |
---|---|---|
committer | Romain Guy <romainguy@google.com> | 2010-09-21 16:48:50 -0700 |
commit | ddb80bebb0776e6d852aab6e8bba5d5591847a55 (patch) | |
tree | 460e39e115bf75648a3b4dbc9788c911751bd848 /tests/HwAccelerationTest | |
parent | ee916f14cbd1fe1422c063ce2ef7b185e2bc5c6f (diff) | |
download | frameworks_base-ddb80bebb0776e6d852aab6e8bba5d5591847a55.zip frameworks_base-ddb80bebb0776e6d852aab6e8bba5d5591847a55.tar.gz frameworks_base-ddb80bebb0776e6d852aab6e8bba5d5591847a55.tar.bz2 |
Add support for circular gradients to the GL renderer.
This change also adds full support for local transformation matrices on
sweep and radial gradients.
Change-Id: Id8773bc0766575190e3f3d51984fc5e57b266c3f
Diffstat (limited to 'tests/HwAccelerationTest')
-rw-r--r-- | tests/HwAccelerationTest/src/com/android/test/hwui/AdvancedGradientsActivity.java | 40 |
1 files changed, 29 insertions, 11 deletions
diff --git a/tests/HwAccelerationTest/src/com/android/test/hwui/AdvancedGradientsActivity.java b/tests/HwAccelerationTest/src/com/android/test/hwui/AdvancedGradientsActivity.java index e232021..27974e7 100644 --- a/tests/HwAccelerationTest/src/com/android/test/hwui/AdvancedGradientsActivity.java +++ b/tests/HwAccelerationTest/src/com/android/test/hwui/AdvancedGradientsActivity.java @@ -42,19 +42,25 @@ public class AdvancedGradientsActivity extends Activity { private final RadialGradient mRadialGradient; private final Matrix mMatrix; private final Matrix mMatrix2; + private final Matrix mMatrix3; GradientsView(Context c) { super(c); - mSweepGradient = new SweepGradient(100.0f, 100.0f, 0xff000000, 0xffffffff); - mRadialGradient = new RadialGradient(100.0f, 100.0f, 100.0f, 0xff000000, 0xffffffff, + mSweepGradient = new SweepGradient(0.0f, 0.0f, 0xff000000, 0xffffffff); + mRadialGradient = new RadialGradient(0.0f, 0.0f, 100.0f, 0xff000000, 0xffffffff, Shader.TileMode.MIRROR); mMatrix = new Matrix(); - mMatrix.setTranslate(50.0f, 50.0f); + mMatrix.setRotate(-45, 0.0f, 0.0f); + mMatrix.postTranslate(100.0f, 100.0f); mMatrix2 = new Matrix(); - mMatrix2.setScale(2.0f, 2.0f); + mMatrix2.setScale(1.0f, 2.0f); + mMatrix2.postRotate(-45, 0.0f, 0.0f); + + mMatrix3 = new Matrix(); + mMatrix3.setTranslate(100.0f, 100.0f); mPaint = new Paint(); } @@ -64,29 +70,41 @@ public class AdvancedGradientsActivity extends Activity { super.onDraw(canvas); canvas.drawRGB(255, 255, 255); - // Bitmap shaders canvas.save(); canvas.translate(130.0f, 100.0f); - mSweepGradient.setLocalMatrix(null); + mSweepGradient.setLocalMatrix(mMatrix3); mPaint.setShader(mSweepGradient); canvas.drawRect(0.0f, 0.0f, 200.0f, 200.0f, mPaint); canvas.translate(400.0f, 000.0f); - mPaint.setShader(mRadialGradient); - canvas.drawRect(0.0f, 0.0f, 200.0f, 200.0f, mPaint); + mSweepGradient.setLocalMatrix(mMatrix); + mPaint.setShader(mSweepGradient); + canvas.drawRect(0.0f, 0.0f, 200.0f, 200.0f, mPaint); canvas.translate(400.0f, 000.0f); - mSweepGradient.setLocalMatrix(mMatrix); + mSweepGradient.setLocalMatrix(mMatrix2); mPaint.setShader(mSweepGradient); canvas.drawRect(0.0f, 0.0f, 200.0f, 200.0f, mPaint); canvas.translate(-800.0f, 300.0f); + + mRadialGradient.setLocalMatrix(null); + mPaint.setShader(mRadialGradient); + canvas.drawRect(0.0f, 0.0f, 200.0f, 200.0f, mPaint); - mSweepGradient.setLocalMatrix(mMatrix2); - mPaint.setShader(mSweepGradient); + canvas.translate(400.0f, 000.0f); + + mRadialGradient.setLocalMatrix(mMatrix); + mPaint.setShader(mRadialGradient); + canvas.drawRect(0.0f, 0.0f, 200.0f, 200.0f, mPaint); + + canvas.translate(400.0f, 000.0f); + + mRadialGradient.setLocalMatrix(mMatrix2); + mPaint.setShader(mRadialGradient); canvas.drawRect(0.0f, 0.0f, 200.0f, 200.0f, mPaint); |