1807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy/* 2807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy * Copyright (C) 2010 The Android Open Source Project 3807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy * 4807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy * Licensed under the Apache License, Version 2.0 (the "License"); 5807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy * you may not use this file except in compliance with the License. 6807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy * You may obtain a copy of the License at 7807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy * 8807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy * http://www.apache.org/licenses/LICENSE-2.0 9807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy * 10807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy * Unless required by applicable law or agreed to in writing, software 11807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy * distributed under the License is distributed on an "AS IS" BASIS, 12807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy * See the License for the specific language governing permissions and 14807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy * limitations under the License. 15807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy */ 16807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy 17807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guypackage com.android.test.hwui; 18807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy 19807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guyimport android.app.Activity; 20807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guyimport android.content.Context; 21807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guyimport android.graphics.Bitmap; 22807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guyimport android.graphics.BitmapFactory; 23807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guyimport android.graphics.Canvas; 24807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guyimport android.graphics.Paint; 25807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guyimport android.os.Bundle; 26807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guyimport android.view.View; 27807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy 28807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy@SuppressWarnings({"UnusedDeclaration"}) 29807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guypublic class BitmapsSkewActivity extends Activity { 30807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy @Override 31807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy protected void onCreate(Bundle savedInstanceState) { 32807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy super.onCreate(savedInstanceState); 33807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy final BitmapsView view = new BitmapsView(this); 34807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy setContentView(view); 35807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy } 36807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy 37807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy static class BitmapsView extends View { 38807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy private Paint mBitmapPaint; 39807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy private final Bitmap mBitmap1; 40807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy 41807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy BitmapsView(Context c) { 42807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy super(c); 43807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy 44807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy mBitmap1 = BitmapFactory.decodeResource(c.getResources(), R.drawable.sunset1); 45807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy } 46807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy 47807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy @Override 48807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy protected void onDraw(Canvas canvas) { 49807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy super.onDraw(canvas); 50807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy 51807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy canvas.translate(120.0f, 50.0f); 52807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy canvas.skew(0.2f, 0.3f); 53807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy canvas.drawBitmap(mBitmap1, 0.0f, 0.0f, mBitmapPaint); 54807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy } 55807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy } 56807daf7df615b60ce6fc41355aabe3aa353cebabRomain Guy} 57