summaryrefslogtreecommitdiffstats
path: root/tests/HwAccelerationTest
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2010-09-20 19:04:33 -0700
committerRomain Guy <romainguy@google.com>2010-09-21 16:48:50 -0700
commitddb80bebb0776e6d852aab6e8bba5d5591847a55 (patch)
tree460e39e115bf75648a3b4dbc9788c911751bd848 /tests/HwAccelerationTest
parentee916f14cbd1fe1422c063ce2ef7b185e2bc5c6f (diff)
downloadframeworks_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.java40
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);