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