diff options
author | Romain Guy <romainguy@google.com> | 2012-01-19 16:53:41 -0800 |
---|---|---|
committer | Romain Guy <romainguy@google.com> | 2012-01-19 17:16:38 -0800 |
commit | f9d9c065ed75f1196316a9a31f92309f602cef76 (patch) | |
tree | ca552893d80825f16728e613d2aa341b1cdd92d9 | |
parent | 75582e889d4895483309e38364266073be6d46b8 (diff) | |
download | frameworks_base-f9d9c065ed75f1196316a9a31f92309f602cef76.zip frameworks_base-f9d9c065ed75f1196316a9a31f92309f602cef76.tar.gz frameworks_base-f9d9c065ed75f1196316a9a31f92309f602cef76.tar.bz2 |
Deprecate unused APIs
Change-Id: I0107e246b632dda96b8b025217936954f1f46283
-rw-r--r-- | api/current.txt | 10 | ||||
-rw-r--r-- | core/java/android/view/GLES20Canvas.java | 12 | ||||
-rw-r--r-- | graphics/java/android/graphics/Canvas.java | 150 | ||||
-rw-r--r-- | graphics/java/android/graphics/Paint.java | 2 | ||||
-rw-r--r-- | graphics/java/android/graphics/Picture.java | 29 | ||||
-rw-r--r-- | tests/HwAccelerationTest/AndroidManifest.xml | 9 | ||||
-rw-r--r-- | tests/HwAccelerationTest/src/com/android/test/hwui/MatrixActivity.java | 56 |
7 files changed, 170 insertions, 98 deletions
diff --git a/api/current.txt b/api/current.txt index f946dda..ca0f9b9 100644 --- a/api/current.txt +++ b/api/current.txt @@ -7981,8 +7981,8 @@ package android.graphics { method public void drawPoint(float, float, android.graphics.Paint); method public void drawPoints(float[], int, int, android.graphics.Paint); method public void drawPoints(float[], android.graphics.Paint); - method public void drawPosText(char[], int, int, float[], android.graphics.Paint); - method public void drawPosText(java.lang.String, float[], android.graphics.Paint); + method public deprecated void drawPosText(char[], int, int, float[], android.graphics.Paint); + method public deprecated void drawPosText(java.lang.String, float[], android.graphics.Paint); method public void drawRGB(int, int, int); method public void drawRect(android.graphics.RectF, android.graphics.Paint); method public void drawRect(android.graphics.Rect, android.graphics.Paint); @@ -8000,7 +8000,7 @@ package android.graphics { method public int getDensity(); method public android.graphics.DrawFilter getDrawFilter(); method public int getHeight(); - method public void getMatrix(android.graphics.Matrix); + method public deprecated void getMatrix(android.graphics.Matrix); method public final android.graphics.Matrix getMatrix(); method public int getMaximumBitmapHeight(); method public int getMaximumBitmapWidth(); @@ -8331,7 +8331,7 @@ package android.graphics { method public final boolean isDither(); method public final boolean isFakeBoldText(); method public final boolean isFilterBitmap(); - method public final boolean isLinearText(); + method public final deprecated boolean isLinearText(); method public final boolean isStrikeThruText(); method public final boolean isSubpixelText(); method public final boolean isUnderlineText(); @@ -8351,7 +8351,7 @@ package android.graphics { method public void setFilterBitmap(boolean); method public void setFlags(int); method public void setHinting(int); - method public void setLinearText(boolean); + method public deprecated void setLinearText(boolean); method public android.graphics.MaskFilter setMaskFilter(android.graphics.MaskFilter); method public android.graphics.PathEffect setPathEffect(android.graphics.PathEffect); method public android.graphics.Rasterizer setRasterizer(android.graphics.Rasterizer); diff --git a/core/java/android/view/GLES20Canvas.java b/core/java/android/view/GLES20Canvas.java index 5a436c4..e06d661 100644 --- a/core/java/android/view/GLES20Canvas.java +++ b/core/java/android/view/GLES20Canvas.java @@ -908,12 +908,20 @@ class GLES20Canvas extends HardwareCanvas { @Override public void drawPicture(Picture picture) { + if (picture.createdFromStream) { + return; + } + picture.endRecording(); // TODO: Implement rendering } @Override public void drawPicture(Picture picture, Rect dst) { + if (picture.createdFromStream) { + return; + } + save(); translate(dst.left, dst.top); if (picture.getWidth() > 0 && picture.getHeight() > 0) { @@ -925,6 +933,10 @@ class GLES20Canvas extends HardwareCanvas { @Override public void drawPicture(Picture picture, RectF dst) { + if (picture.createdFromStream) { + return; + } + save(); translate(dst.left, dst.top); if (picture.getWidth() > 0 && picture.getHeight() > 0) { diff --git a/graphics/java/android/graphics/Canvas.java b/graphics/java/android/graphics/Canvas.java index 5cac42a..e8be451 100644 --- a/graphics/java/android/graphics/Canvas.java +++ b/graphics/java/android/graphics/Canvas.java @@ -130,8 +130,7 @@ public class Canvas { */ public Canvas(Bitmap bitmap) { if (!bitmap.isMutable()) { - throw new IllegalStateException( - "Immutable bitmap passed to Canvas constructor"); + throw new IllegalStateException("Immutable bitmap passed to Canvas constructor"); } throwIfRecycled(bitmap); mNativeCanvas = initRaster(bitmap.ni()); @@ -361,8 +360,8 @@ public class Canvas { /** * Helper version of saveLayer() that takes 4 values rather than a RectF. */ - public int saveLayer(float left, float top, float right, float bottom, - Paint paint, int saveFlags) { + public int saveLayer(float left, float top, float right, float bottom, Paint paint, + int saveFlags) { return native_saveLayer(mNativeCanvas, left, top, right, bottom, paint != null ? paint.mNativePaint : 0, saveFlags); @@ -392,8 +391,8 @@ public class Canvas { /** * Helper for saveLayerAlpha() that takes 4 values instead of a RectF. */ - public int saveLayerAlpha(float left, float top, float right, float bottom, - int alpha, int saveFlags) { + public int saveLayerAlpha(float left, float top, float right, float bottom, int alpha, + int saveFlags) { return native_saveLayerAlpha(mNativeCanvas, left, top, right, bottom, alpha, saveFlags); } @@ -496,9 +495,15 @@ public class Canvas { /** * Completely replace the current matrix with the specified matrix. If the * matrix parameter is null, then the current matrix is reset to identity. + * + * <strong>Note:</strong> it is recommended to use {@link #concat(Matrix)}, + * {@link #scale(float, float)}, {@link #translate(float, float)} and + * {@link #rotate(float)} instead of this method. * * @param matrix The matrix to replace the current matrix with. If it is * null, set the current matrix to identity. + * + * @see #concat(Matrix) */ public void setMatrix(Matrix matrix) { native_setMatrix(mNativeCanvas, @@ -509,6 +514,7 @@ public class Canvas { * Return, in ctm, the current transformation matrix. This does not alter * the matrix in the canvas, but just returns a copy of it. */ + @Deprecated public void getMatrix(Matrix ctm) { native_getCTM(mNativeCanvas, ctm.native_instance); } @@ -516,9 +522,12 @@ public class Canvas { /** * Return a new matrix with a copy of the canvas' current transformation * matrix. + * + * @Deprecated */ public final Matrix getMatrix() { Matrix m = new Matrix(); + //noinspection deprecation getMatrix(m); return m; } @@ -531,9 +540,8 @@ public class Canvas { * @return true if the resulting clip is non-empty */ public boolean clipRect(RectF rect, Region.Op op) { - return native_clipRect(mNativeCanvas, - rect.left, rect.top, rect.right, rect.bottom, - op.nativeInt); + return native_clipRect(mNativeCanvas, rect.left, rect.top, rect.right, rect.bottom, + op.nativeInt); } /** @@ -545,9 +553,8 @@ public class Canvas { * @return true if the resulting clip is non-empty */ public boolean clipRect(Rect rect, Region.Op op) { - return native_clipRect(mNativeCanvas, - rect.left, rect.top, rect.right, rect.bottom, - op.nativeInt); + return native_clipRect(mNativeCanvas, rect.left, rect.top, rect.right, rect.bottom, + op.nativeInt); } /** @@ -583,10 +590,8 @@ public class Canvas { * @param op How the clip is modified * @return true if the resulting clip is non-empty */ - public boolean clipRect(float left, float top, float right, float bottom, - Region.Op op) { - return native_clipRect(mNativeCanvas, left, top, right, bottom, - op.nativeInt); + public boolean clipRect(float left, float top, float right, float bottom, Region.Op op) { + return native_clipRect(mNativeCanvas, left, top, right, bottom, op.nativeInt); } /** @@ -602,9 +607,8 @@ public class Canvas { * clip * @return true if the resulting clip is non-empty */ - public native boolean clipRect(float left, float top, - float right, float bottom); - + public native boolean clipRect(float left, float top, float right, float bottom); + /** * Intersect the current clip with the specified rectangle, which is * expressed in local coordinates. @@ -618,9 +622,8 @@ public class Canvas { * clip * @return true if the resulting clip is non-empty */ - public native boolean clipRect(int left, int top, - int right, int bottom); - + public native boolean clipRect(int left, int top, int right, int bottom); + /** * Modify the current clip with the specified path. * @@ -753,8 +756,7 @@ public class Canvas { * @return true if the rect (transformed by the canvas' matrix) * does not intersect with the canvas' clip */ - public boolean quickReject(float left, float top, float right, float bottom, - EdgeType type) { + public boolean quickReject(float left, float top, float right, float bottom, EdgeType type) { return native_quickReject(mNativeCanvas, left, top, right, bottom, type.nativeInt); } @@ -854,8 +856,7 @@ public class Canvas { * "points" that are drawn is really (count >> 1). * @param paint The paint used to draw the points */ - public native void drawPoints(float[] pts, int offset, int count, - Paint paint); + public native void drawPoints(float[] pts, int offset, int count, Paint paint); /** * Helper for drawPoints() that assumes you want to draw the entire array @@ -878,10 +879,8 @@ public class Canvas { * @param startY The y-coordinate of the start point of the line * @param paint The paint used to draw the line */ - public void drawLine(float startX, float startY, float stopX, float stopY, - Paint paint) { - native_drawLine(mNativeCanvas, startX, startY, stopX, stopY, - paint.mNativePaint); + public void drawLine(float startX, float startY, float stopX, float stopY, Paint paint) { + native_drawLine(mNativeCanvas, startX, startY, stopX, stopY, paint.mNativePaint); } /** @@ -899,8 +898,7 @@ public class Canvas { * (count >> 2). * @param paint The paint used to draw the points */ - public native void drawLines(float[] pts, int offset, int count, - Paint paint); + public native void drawLines(float[] pts, int offset, int count, Paint paint); public void drawLines(float[] pts, Paint paint) { drawLines(pts, 0, pts.length, paint); @@ -939,10 +937,8 @@ public class Canvas { * @param bottom The bottom side of the rectangle to be drawn * @param paint The paint used to draw the rect */ - public void drawRect(float left, float top, float right, float bottom, - Paint paint) { - native_drawRect(mNativeCanvas, left, top, right, bottom, - paint.mNativePaint); + public void drawRect(float left, float top, float right, float bottom, Paint paint) { + native_drawRect(mNativeCanvas, left, top, right, bottom, paint.mNativePaint); } /** @@ -969,8 +965,7 @@ public class Canvas { * @param paint The paint used to draw the circle */ public void drawCircle(float cx, float cy, float radius, Paint paint) { - native_drawCircle(mNativeCanvas, cx, cy, radius, - paint.mNativePaint); + native_drawCircle(mNativeCanvas, cx, cy, radius, paint.mNativePaint); } /** @@ -996,8 +991,8 @@ public class Canvas { close it if it is being stroked. This will draw a wedge * @param paint The paint used to draw the arc */ - public void drawArc(RectF oval, float startAngle, float sweepAngle, - boolean useCenter, Paint paint) { + public void drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter, + Paint paint) { if (oval == null) { throw new NullPointerException(); } @@ -1035,8 +1030,7 @@ public class Canvas { private static void throwIfRecycled(Bitmap bitmap) { if (bitmap.isRecycled()) { - throw new RuntimeException( - "Canvas: trying to use a recycled bitmap " + bitmap); + throw new RuntimeException("Canvas: trying to use a recycled bitmap " + bitmap); } } @@ -1077,8 +1071,7 @@ public class Canvas { public void drawBitmap(Bitmap bitmap, float left, float top, Paint paint) { throwIfRecycled(bitmap); native_drawBitmap(mNativeCanvas, bitmap.ni(), left, top, - paint != null ? paint.mNativePaint : 0, mDensity, mScreenDensity, - bitmap.mDensity); + paint != null ? paint.mNativePaint : 0, mDensity, mScreenDensity, bitmap.mDensity); } /** @@ -1109,8 +1102,7 @@ public class Canvas { } throwIfRecycled(bitmap); native_drawBitmap(mNativeCanvas, bitmap.ni(), src, dst, - paint != null ? paint.mNativePaint : 0, - mScreenDensity, bitmap.mDensity); + paint != null ? paint.mNativePaint : 0, mScreenDensity, bitmap.mDensity); } /** @@ -1141,8 +1133,7 @@ public class Canvas { } throwIfRecycled(bitmap); native_drawBitmap(mNativeCanvas, bitmap.ni(), src, dst, - paint != null ? paint.mNativePaint : 0, - mScreenDensity, bitmap.mDensity); + paint != null ? paint.mNativePaint : 0, mScreenDensity, bitmap.mDensity); } /** @@ -1164,9 +1155,8 @@ public class Canvas { * be 0xFF for every pixel). * @param paint May be null. The paint used to draw the bitmap */ - public void drawBitmap(int[] colors, int offset, int stride, float x, - float y, int width, int height, boolean hasAlpha, - Paint paint) { + public void drawBitmap(int[] colors, int offset, int stride, float x, float y, + int width, int height, boolean hasAlpha, Paint paint) { // check for valid input if (width < 0) { throw new IllegalArgumentException("width must be >= 0"); @@ -1195,8 +1185,7 @@ public class Canvas { /** Legacy version of drawBitmap(int[] colors, ...) that took ints for x,y */ public void drawBitmap(int[] colors, int offset, int stride, int x, int y, - int width, int height, boolean hasAlpha, - Paint paint) { + int width, int height, boolean hasAlpha, Paint paint) { // call through to the common float version drawBitmap(colors, offset, stride, (float)x, (float)y, width, height, hasAlpha, paint); @@ -1250,8 +1239,7 @@ public class Canvas { * @param paint May be null. The paint used to draw the bitmap */ public void drawBitmapMesh(Bitmap bitmap, int meshWidth, int meshHeight, - float[] verts, int vertOffset, - int[] colors, int colorOffset, Paint paint) { + float[] verts, int vertOffset, int[] colors, int colorOffset, Paint paint) { if ((meshWidth | meshHeight | vertOffset | colorOffset) < 0) { throw new ArrayIndexOutOfBoundsException(); } @@ -1269,7 +1257,7 @@ public class Canvas { verts, vertOffset, colors, colorOffset, paint != null ? paint.mNativePaint : 0); } - + public enum VertexMode { TRIANGLES(0), TRIANGLE_STRIP(1), @@ -1315,12 +1303,9 @@ public class Canvas { * @param indexCount number of entries in the indices array (if not null). * @param paint Specifies the shader to use if the texs array is non-null. */ - public void drawVertices(VertexMode mode, int vertexCount, - float[] verts, int vertOffset, - float[] texs, int texOffset, - int[] colors, int colorOffset, - short[] indices, int indexOffset, - int indexCount, Paint paint) { + public void drawVertices(VertexMode mode, int vertexCount, float[] verts, int vertOffset, + float[] texs, int texOffset, int[] colors, int colorOffset, + short[] indices, int indexOffset, int indexCount, Paint paint) { checkRange(verts.length, vertOffset, vertexCount); if (texs != null) { checkRange(texs.length, texOffset, vertexCount); @@ -1345,8 +1330,7 @@ public class Canvas { * @param y The y-coordinate of the origin of the text being drawn * @param paint The paint used for the text (e.g. color, size, style) */ - public void drawText(char[] text, int index, int count, float x, float y, - Paint paint) { + public void drawText(char[] text, int index, int count, float x, float y, Paint paint) { if ((index | count | (index + count) | (text.length - index - count)) < 0) { throw new IndexOutOfBoundsException(); @@ -1380,8 +1364,7 @@ public class Canvas { * @param y The y-coordinate of the origin of the text being drawn * @param paint The paint used for the text (e.g. color, size, style) */ - public void drawText(String text, int start, int end, float x, float y, - Paint paint) { + public void drawText(String text, int start, int end, float x, float y, Paint paint) { if ((start | end | (end - start) | (text.length() - end)) < 0) { throw new IndexOutOfBoundsException(); } @@ -1402,8 +1385,7 @@ public class Canvas { * @param y The y-coordinate of origin for where to draw the text * @param paint The paint used for the text (e.g. color, size, style) */ - public void drawText(CharSequence text, int start, int end, float x, - float y, Paint paint) { + public void drawText(CharSequence text, int start, int end, float x, float y, Paint paint) { if (text instanceof String || text instanceof SpannedString || text instanceof SpannableString) { native_drawText(mNativeCanvas, text.toString(), start, end, x, y, @@ -1441,9 +1423,8 @@ public class Canvas { * @param paint the paint * @hide */ - public void drawTextRun(char[] text, int index, int count, - int contextIndex, int contextCount, float x, float y, int dir, - Paint paint) { + public void drawTextRun(char[] text, int index, int count, int contextIndex, int contextCount, + float x, float y, int dir, Paint paint) { if (text == null) { throw new NullPointerException("text is null"); @@ -1479,9 +1460,8 @@ public class Canvas { * @param paint the paint * @hide */ - public void drawTextRun(CharSequence text, int start, int end, - int contextStart, int contextEnd, float x, float y, int dir, - Paint paint) { + public void drawTextRun(CharSequence text, int start, int end, int contextStart, int contextEnd, + float x, float y, int dir, Paint paint) { if (text == null) { throw new NullPointerException("text is null"); @@ -1527,8 +1507,8 @@ public class Canvas { * character * @param paint The paint used for the text (e.g. color, size, style) */ - public void drawPosText(char[] text, int index, int count, float[] pos, - Paint paint) { + @Deprecated + public void drawPosText(char[] text, int index, int count, float[] pos, Paint paint) { if (index < 0 || index + count > text.length || count*2 > pos.length) { throw new IndexOutOfBoundsException(); } @@ -1547,6 +1527,7 @@ public class Canvas { * @param pos Array of [x,y] positions, used to position each character * @param paint The paint used for the text (e.g. color, size, style) */ + @Deprecated public void drawPosText(String text, float[] pos, Paint paint) { if (text.length()*2 > pos.length) { throw new ArrayIndexOutOfBoundsException(); @@ -1568,7 +1549,7 @@ public class Canvas { * @param paint The paint used for the text (e.g. color, size, style) */ public void drawTextOnPath(char[] text, int index, int count, Path path, - float hOffset, float vOffset, Paint paint) { + float hOffset, float vOffset, Paint paint) { if (index < 0 || index + count > text.length) { throw new ArrayIndexOutOfBoundsException(); } @@ -1590,12 +1571,10 @@ public class Canvas { * the text * @param paint The paint used for the text (e.g. color, size, style) */ - public void drawTextOnPath(String text, Path path, float hOffset, - float vOffset, Paint paint) { + public void drawTextOnPath(String text, Path path, float hOffset, float vOffset, Paint paint) { if (text.length() > 0) { - native_drawTextOnPath(mNativeCanvas, text, path.ni(), - hOffset, vOffset, paint.mBidiFlags, - paint.mNativePaint); + native_drawTextOnPath(mNativeCanvas, text, path.ni(), hOffset, vOffset, + paint.mBidiFlags, paint.mNativePaint); } } @@ -1618,8 +1597,7 @@ public class Canvas { save(); translate(dst.left, dst.top); if (picture.getWidth() > 0 && picture.getHeight() > 0) { - scale(dst.width() / picture.getWidth(), - dst.height() / picture.getHeight()); + scale(dst.width() / picture.getWidth(), dst.height() / picture.getHeight()); } drawPicture(picture); restore(); @@ -1632,8 +1610,8 @@ public class Canvas { save(); translate(dst.left, dst.top); if (picture.getWidth() > 0 && picture.getHeight() > 0) { - scale((float)dst.width() / picture.getWidth(), - (float)dst.height() / picture.getHeight()); + scale((float) dst.width() / picture.getWidth(), + (float) dst.height() / picture.getHeight()); } drawPicture(picture); restore(); diff --git a/graphics/java/android/graphics/Paint.java b/graphics/java/android/graphics/Paint.java index ce42612..006b31f 100644 --- a/graphics/java/android/graphics/Paint.java +++ b/graphics/java/android/graphics/Paint.java @@ -528,6 +528,7 @@ public class Paint { * * @return true if the lineartext bit is set in the paint's flags */ + @Deprecated public final boolean isLinearText() { return (getFlags() & LINEAR_TEXT_FLAG) != 0; } @@ -538,6 +539,7 @@ public class Paint { * @param linearText true to set the linearText bit in the paint's flags, * false to clear it. */ + @Deprecated public native void setLinearText(boolean linearText); /** diff --git a/graphics/java/android/graphics/Picture.java b/graphics/java/android/graphics/Picture.java index 9c06fed..997141d 100644 --- a/graphics/java/android/graphics/Picture.java +++ b/graphics/java/android/graphics/Picture.java @@ -32,10 +32,15 @@ public class Picture { private Canvas mRecordingCanvas; private final int mNativePicture; + /** + * @hide + */ + public final boolean createdFromStream; + private static final int WORKING_STREAM_STORAGE = 16 * 1024; public Picture() { - this(nativeConstructor(0)); + this(nativeConstructor(0), false); } /** @@ -44,7 +49,7 @@ public class Picture { * changes will not be reflected in this picture. */ public Picture(Picture src) { - this(nativeConstructor(src != null ? src.mNativePicture : 0)); + this(nativeConstructor(src != null ? src.mNativePicture : 0), false); } /** @@ -101,15 +106,24 @@ public class Picture { /** * Create a new picture (already recorded) from the data in the stream. This * data was generated by a previous call to writeToStream(). + * + * <strong>Note:</strong> a picture created from an input stream cannot be + * replayed on a hardware accelerated canvas. + * + * @see #writeToStream(java.io.OutputStream) */ public static Picture createFromStream(InputStream stream) { - return new Picture( - nativeCreateFromStream(stream, new byte[WORKING_STREAM_STORAGE])); + return new Picture(nativeCreateFromStream(stream, new byte[WORKING_STREAM_STORAGE]), true); } /** * Write the picture contents to a stream. The data can be used to recreate * the picture in this or another process by calling createFromStream. + * + * <strong>Note:</strong> a picture created from an input stream cannot be + * replayed on a hardware accelerated canvas. + * + * @see #createFromStream(java.io.InputStream) */ public void writeToStream(OutputStream stream) { // do explicit check before calling the native method @@ -129,16 +143,17 @@ public class Picture { super.finalize(); } } - - /*package*/ final int ni() { + + final int ni() { return mNativePicture; } - private Picture(int nativePicture) { + private Picture(int nativePicture, boolean fromStream) { if (nativePicture == 0) { throw new RuntimeException(); } mNativePicture = nativePicture; + createdFromStream = fromStream; } // return empty picture if src is 0, or a copy of the native src diff --git a/tests/HwAccelerationTest/AndroidManifest.xml b/tests/HwAccelerationTest/AndroidManifest.xml index 6f97ff0..112c606 100644 --- a/tests/HwAccelerationTest/AndroidManifest.xml +++ b/tests/HwAccelerationTest/AndroidManifest.xml @@ -38,6 +38,15 @@ <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> + + <activity + android:name="MatrixActivity" + android:label="_Matrix"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> <activity android:name="TextFadeActivity" diff --git a/tests/HwAccelerationTest/src/com/android/test/hwui/MatrixActivity.java b/tests/HwAccelerationTest/src/com/android/test/hwui/MatrixActivity.java new file mode 100644 index 0000000..1906b9d --- /dev/null +++ b/tests/HwAccelerationTest/src/com/android/test/hwui/MatrixActivity.java @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.test.hwui; + +import android.app.Activity; +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.os.Bundle; +import android.util.Log; +import android.view.View; + +@SuppressWarnings({"UnusedDeclaration"}) +public class MatrixActivity extends Activity { + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + setContentView(new MatrixView(this)); + } + + static class MatrixView extends View { + MatrixView(Context c) { + super(c); + } + + @Override + protected void onDraw(Canvas canvas) { + super.onDraw(canvas); + canvas.drawRGB(255, 255, 255); + + Log.d("Matrix", "m1=" + canvas.getMatrix()); + + canvas.save(); + canvas.translate(10.0f, 10.0f); + Log.d("Matrix", "m2=" + canvas.getMatrix()); + canvas.translate(20.0f, 20.0f); + Log.d("Matrix", "m3=" + canvas.getMatrix()); + canvas.restore(); + } + } +} |