diff options
author | Xavier Ducrohet <xav@android.com> | 2010-12-20 08:22:47 -0800 |
---|---|---|
committer | Xavier Ducrohet <xav@android.com> | 2010-12-21 10:43:18 -0800 |
commit | d348b6eaa98e23cb38d90906df109aaa2d20ea7f (patch) | |
tree | c9195fa9628e78108424cbae0dd2a86a12d2faeb /tests/HwAccelerationTest | |
parent | 19a021038f2f4683dddef651543d7298f5bd7218 (diff) | |
download | frameworks_base-d348b6eaa98e23cb38d90906df109aaa2d20ea7f.zip frameworks_base-d348b6eaa98e23cb38d90906df109aaa2d20ea7f.tar.gz frameworks_base-d348b6eaa98e23cb38d90906df109aaa2d20ea7f.tar.bz2 |
LayoutLib: support for Path and BitmapShader using delegates.
Also created delegates for all missing shader, xfermode
and patheffect classes. Moved the logic of the xfermode,
and patheffects that was in Canvas_Delegate into the
xfermode/patheffect classes, and added support (in all
3 clases) for knowing if the shader/xfermode/patheffect
is actually supported or not. Make use of fidelityWarning
in LayoutLog if they are not.
Diffstat (limited to 'tests/HwAccelerationTest')
-rw-r--r-- | tests/HwAccelerationTest/res/layout/_advanced_blend.xml (renamed from tests/HwAccelerationTest/res/layout/advanced_blend.xml) | 0 | ||||
-rw-r--r-- | tests/HwAccelerationTest/res/layout/_advanced_gradient.xml (renamed from tests/HwAccelerationTest/res/layout/advanced_gradient.xml) | 0 | ||||
-rw-r--r-- | tests/HwAccelerationTest/res/layout/_paths.xml | 6 | ||||
-rw-r--r-- | tests/HwAccelerationTest/res/layout/_shaders.xml | 6 | ||||
-rw-r--r-- | tests/HwAccelerationTest/src/com/android/test/hwui/PathsActivity.java | 12 | ||||
-rw-r--r-- | tests/HwAccelerationTest/src/com/android/test/hwui/ShadersActivity.java | 16 |
6 files changed, 26 insertions, 14 deletions
diff --git a/tests/HwAccelerationTest/res/layout/advanced_blend.xml b/tests/HwAccelerationTest/res/layout/_advanced_blend.xml index 6efdd73..6efdd73 100644 --- a/tests/HwAccelerationTest/res/layout/advanced_blend.xml +++ b/tests/HwAccelerationTest/res/layout/_advanced_blend.xml diff --git a/tests/HwAccelerationTest/res/layout/advanced_gradient.xml b/tests/HwAccelerationTest/res/layout/_advanced_gradient.xml index dd937f9..dd937f9 100644 --- a/tests/HwAccelerationTest/res/layout/advanced_gradient.xml +++ b/tests/HwAccelerationTest/res/layout/_advanced_gradient.xml diff --git a/tests/HwAccelerationTest/res/layout/_paths.xml b/tests/HwAccelerationTest/res/layout/_paths.xml new file mode 100644 index 0000000..b053482 --- /dev/null +++ b/tests/HwAccelerationTest/res/layout/_paths.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<com.android.test.hwui.PathsActivity.PathsView + xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="fill_parent" + android:layout_height="fill_parent"> +</com.android.test.hwui.PathsActivity.PathsView> diff --git a/tests/HwAccelerationTest/res/layout/_shaders.xml b/tests/HwAccelerationTest/res/layout/_shaders.xml new file mode 100644 index 0000000..dcb42fb --- /dev/null +++ b/tests/HwAccelerationTest/res/layout/_shaders.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<com.android.test.hwui.ShadersActivity.ShadersView + xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="fill_parent" + android:layout_height="fill_parent"> +</com.android.test.hwui.ShadersActivity.ShadersView> diff --git a/tests/HwAccelerationTest/src/com/android/test/hwui/PathsActivity.java b/tests/HwAccelerationTest/src/com/android/test/hwui/PathsActivity.java index 8d9bf37..aa1eb59 100644 --- a/tests/HwAccelerationTest/src/com/android/test/hwui/PathsActivity.java +++ b/tests/HwAccelerationTest/src/com/android/test/hwui/PathsActivity.java @@ -37,7 +37,7 @@ public class PathsActivity extends Activity { setContentView(view); } - static class PathsView extends View { + public static class PathsView extends View { private final Bitmap mBitmap1; private final Paint mSmallPaint; private final Paint mMediumPaint; @@ -50,7 +50,7 @@ public class PathsActivity extends Activity { private final float mOffset; private final Paint mLinePaint; - PathsView(Context c) { + public PathsView(Context c) { super(c); mBitmap1 = BitmapFactory.decodeResource(c.getResources(), R.drawable.sunset1); @@ -60,7 +60,7 @@ public class PathsActivity extends Activity { mSmallPaint.setColor(0xffff0000); mSmallPaint.setStrokeWidth(1.0f); mSmallPaint.setStyle(Paint.Style.STROKE); - + mLinePaint = new Paint(); mLinePaint.setAntiAlias(true); mLinePaint.setColor(0xffff00ff); @@ -112,7 +112,7 @@ public class PathsActivity extends Activity { canvas.save(); canvas.translate(200.0f, 60.0f); canvas.drawPath(mPath, mSmallPaint); - + canvas.translate(350.0f, 0.0f); canvas.drawPath(mPath, mMediumPaint); @@ -121,12 +121,12 @@ public class PathsActivity extends Activity { canvas.drawPath(mPath, mLargePaint); mLargePaint.setShader(null); canvas.restore(); - + canvas.save(); canvas.translate(200.0f, 360.0f); canvas.drawPath(mPath, mSmallPaint); canvas.drawRect(mPathBounds, mBoundsPaint); - + canvas.translate(350.0f, 0.0f); canvas.drawBitmap(mBitmap, mPathBounds.left - mOffset * 1.5f, mPathBounds.top - mOffset * 1.5f, null); diff --git a/tests/HwAccelerationTest/src/com/android/test/hwui/ShadersActivity.java b/tests/HwAccelerationTest/src/com/android/test/hwui/ShadersActivity.java index 02eaa7c..f89e184 100644 --- a/tests/HwAccelerationTest/src/com/android/test/hwui/ShadersActivity.java +++ b/tests/HwAccelerationTest/src/com/android/test/hwui/ShadersActivity.java @@ -39,7 +39,7 @@ public class ShadersActivity extends Activity { setContentView(new ShadersView(this)); } - static class ShadersView extends View { + public static class ShadersView extends View { private BitmapShader mRepeatShader; private BitmapShader mTranslatedShader; private BitmapShader mScaledShader; @@ -53,7 +53,7 @@ public class ShadersActivity extends Activity { private LinearGradient mVertGradient; private Bitmap mTexture; - ShadersView(Context c) { + public ShadersView(Context c) { super(c); mTexture = BitmapFactory.decodeResource(c.getResources(), R.drawable.sunset1); @@ -71,7 +71,7 @@ public class ShadersActivity extends Activity { m1.setTranslate(mTexWidth / 2.0f, mTexHeight / 2.0f); m1.postRotate(45, 0, 0); mTranslatedShader.setLocalMatrix(m1); - + mScaledShader = new BitmapShader(mTexture, Shader.TileMode.MIRROR, Shader.TileMode.MIRROR); Matrix m2 = new Matrix(); @@ -85,10 +85,10 @@ public class ShadersActivity extends Activity { m3.postRotate(-90.0f); m3.postTranslate(0.0f, mDrawHeight); mHorGradient.setLocalMatrix(m3); - + mDiagGradient = new LinearGradient(0.0f, 0.0f, mDrawWidth / 1.5f, mDrawHeight, Color.BLUE, Color.MAGENTA, Shader.TileMode.CLAMP); - + mVertGradient = new LinearGradient(0.0f, 0.0f, 0.0f, mDrawHeight / 2.0f, Color.YELLOW, Color.MAGENTA, Shader.TileMode.MIRROR); @@ -107,7 +107,7 @@ public class ShadersActivity extends Activity { mPaint.setShader(mRepeatShader); canvas.drawRect(0.0f, 0.0f, mDrawWidth, mDrawHeight, mPaint); - + canvas.translate(0.0f, 40.0f + mDrawHeight); mPaint.setShader(mTranslatedShader); canvas.drawRect(0.0f, 0.0f, mDrawWidth, mDrawHeight, mPaint); @@ -124,7 +124,7 @@ public class ShadersActivity extends Activity { mPaint.setShader(mHorGradient); canvas.drawRect(0.0f, 0.0f, mDrawWidth, mDrawHeight, mPaint); - + canvas.translate(0.0f, 40.0f + mDrawHeight); mPaint.setShader(mDiagGradient); canvas.drawRect(0.0f, 0.0f, mDrawWidth, mDrawHeight, mPaint); @@ -132,7 +132,7 @@ public class ShadersActivity extends Activity { canvas.translate(0.0f, 40.0f + mDrawHeight); mPaint.setShader(mVertGradient); canvas.drawRect(0.0f, 0.0f, mDrawWidth, mDrawHeight, mPaint); - + canvas.restore(); } } |