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