1e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy/* 2e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy * Copyright (C) 2012 The Android Open Source Project 3e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy * 4e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy * Licensed under the Apache License, Version 2.0 (the "License"); 5e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy * you may not use this file except in compliance with the License. 6e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy * You may obtain a copy of the License at 7e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy * 8e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy * http://www.apache.org/licenses/LICENSE-2.0 9e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy * 10e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy * Unless required by applicable law or agreed to in writing, software 11e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy * distributed under the License is distributed on an "AS IS" BASIS, 12e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy * See the License for the specific language governing permissions and 14e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy * limitations under the License. 15e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy */ 16e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy 17e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guypackage com.android.test.hwui; 18e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy 19e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guyimport android.app.Activity; 20e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guyimport android.content.Context; 21e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guyimport android.graphics.Canvas; 22e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guyimport android.graphics.Paint; 23e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guyimport android.os.Bundle; 24e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guyimport android.view.View; 25e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy 26e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy@SuppressWarnings("UnusedDeclaration") 27e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guypublic class TJunctionActivity extends Activity { 28e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy @Override 29e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy protected void onCreate(Bundle savedInstanceState) { 30e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy super.onCreate(savedInstanceState); 31e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy setContentView(new TJunctionView(this)); 32e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy } 33e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy 34e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy private class TJunctionView extends View { 35e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy private final Paint mPaint; 36e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy 37e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy public TJunctionView(Context context) { 38e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy super(context); 39e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy 40e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy setLayerType(LAYER_TYPE_HARDWARE, null); 41e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy 42e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy mPaint = new Paint(); 43e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy } 44e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy 45e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy @Override 46e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy protected void onDraw(Canvas canvas) { 47e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy super.onDraw(canvas); 48e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy 49e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy mPaint.setColor(0xffff0000); 50e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy 51e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy canvas.translate(10.0f, 10.0f); 52e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy canvas.drawRect(0.0f, 0.0f, 100.0f, 50.0f, mPaint); 53e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy 54e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy mPaint.setColor(0xff00ff00); 55e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy 56e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy canvas.translate(50.0f, 50.0f); 57e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy canvas.drawRect(0.0f, 0.0f, 100.0f, 50.0f, mPaint); 58e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy 59e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy mPaint.setColor(0xff0000ff); 60e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy 61e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy canvas.translate(-25.0f, 50.0f); 62e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy canvas.drawRect(0.0f, 0.0f, 100.0f, 50.0f, mPaint); 63e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy 64e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy mPaint.setColor(0xffffffff); 65e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy 66e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy canvas.translate(150.0f, 75.0f); 67e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy canvas.drawRect(0.0f, 0.0f, 100.0f, 50.0f, mPaint); 68e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy 69e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy canvas.translate(-50.0f, 75.0f); 70e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy canvas.drawRect(0.0f, 0.0f, 100.0f, 50.0f, mPaint); 71e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy 72e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy canvas.translate(-75.0f, 50.0f); 73e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy canvas.drawRect(0.0f, 0.0f, 100.0f, 50.0f, mPaint); 74e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy 75e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy canvas.translate(150.0f, 0.0f); 76e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy canvas.drawRect(0.0f, 0.0f, 100.0f, 50.0f, mPaint); 77e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy 78e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy invalidate(); 79e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy } 80e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy } 81e49d7ec36132f33b7c9e2c044ab9dd3585aa3747Romain Guy} 82