1f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy/*
2f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy * Copyright (C) 2010 The Android Open Source Project
3f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy *
4f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy * Licensed under the Apache License, Version 2.0 (the "License");
5f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy * you may not use this file except in compliance with the License.
6f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy * You may obtain a copy of the License at
7f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy *
8f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy *      http://www.apache.org/licenses/LICENSE-2.0
9f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy *
10f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy * Unless required by applicable law or agreed to in writing, software
11f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy * distributed under the License is distributed on an "AS IS" BASIS,
12f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy * See the License for the specific language governing permissions and
14f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy * limitations under the License.
15f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy */
16f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy
17f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guypackage com.android.test.hwui;
18f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy
19f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guyimport android.app.Activity;
20f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guyimport android.content.Context;
21f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guyimport android.graphics.Canvas;
22f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guyimport android.graphics.Paint;
23f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guyimport android.os.Bundle;
24f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guyimport android.util.Log;
25f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guyimport android.view.View;
26f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy
27f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy@SuppressWarnings({"UnusedDeclaration"})
28f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guypublic class MatrixActivity extends Activity {
29f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy    @Override
30f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy    protected void onCreate(Bundle savedInstanceState) {
31f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy        super.onCreate(savedInstanceState);
32f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy
33f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy        setContentView(new MatrixView(this));
34f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy    }
35f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy
36f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy    static class MatrixView extends View {
37f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy        MatrixView(Context c) {
38f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy            super(c);
39f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy        }
40f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy
41f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy        @Override
42f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy        protected void onDraw(Canvas canvas) {
43f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy            super.onDraw(canvas);
44f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy            canvas.drawRGB(255, 255, 255);
45f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy
46f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy            Log.d("Matrix", "m1=" + canvas.getMatrix());
47f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy
48f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy            canvas.save();
49f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy            canvas.translate(10.0f, 10.0f);
50f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy            Log.d("Matrix", "m2=" + canvas.getMatrix());
51f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy            canvas.translate(20.0f, 20.0f);
52f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy            Log.d("Matrix", "m3=" + canvas.getMatrix());
53f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy            canvas.restore();
54f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy        }
55f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy    }
56f9d9c065ed75f1196316a9a31f92309f602cef76Romain Guy}
57