TextActivity.java revision 2577db1ec135a1470a2c42139772ec97a6c30e78
1/* 2 * Copyright (C) 2010 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package com.android.test.hwui; 18 19import android.app.Activity; 20import android.content.Context; 21import android.graphics.Canvas; 22import android.graphics.Paint; 23import android.os.Bundle; 24import android.view.View; 25 26@SuppressWarnings({"UnusedDeclaration"}) 27public class TextActivity extends Activity { 28 @Override 29 protected void onCreate(Bundle savedInstanceState) { 30 super.onCreate(savedInstanceState); 31 32 setContentView(new CustomTextView(this)); 33 } 34 35 static class CustomTextView extends View { 36 private final Paint mMediumPaint; 37 private final Paint mLargePaint; 38 private final Paint mStrikePaint; 39 private final Paint mScaledPaint; 40 private final Paint mSkewPaint; 41 42 CustomTextView(Context c) { 43 super(c); 44 45 mMediumPaint = new Paint(); 46 mMediumPaint.setAntiAlias(true); 47 mMediumPaint.setColor(0xffff0000); 48 49 mLargePaint = new Paint(); 50 mLargePaint.setAntiAlias(true); 51 mLargePaint.setTextSize(36.0f); 52 53 mStrikePaint = new Paint(); 54 mStrikePaint.setAntiAlias(true); 55 mStrikePaint.setTextSize(16.0f); 56 mStrikePaint.setUnderlineText(true); 57 58 mScaledPaint = new Paint(); 59 mScaledPaint.setAntiAlias(true); 60 mScaledPaint.setTextSize(16.0f); 61 62 mSkewPaint = new Paint(); 63 mSkewPaint.setAntiAlias(true); 64 mSkewPaint.setTextSize(16.0f); 65 } 66 67 @Override 68 protected void onDraw(Canvas canvas) { 69 super.onDraw(canvas); 70 canvas.drawRGB(255, 255, 255); 71 72 canvas.drawText("Hello OpenGL renderer!", 100, 20, mMediumPaint); 73 mMediumPaint.setTextAlign(Paint.Align.CENTER); 74 canvas.drawText("Hello OpenGL renderer!", 100, 40, mMediumPaint); 75 mMediumPaint.setTextAlign(Paint.Align.RIGHT); 76 canvas.drawText("Hello OpenGL renderer!", 100, 60, mMediumPaint); 77 mMediumPaint.setTextAlign(Paint.Align.LEFT); 78 canvas.drawText("Hello OpenGL renderer!", 100, 100, mMediumPaint); 79 mMediumPaint.setShadowLayer(2.5f, 0.0f, 0.0f, 0xff000000); 80 canvas.drawText("Hello OpenGL renderer!", 100, 150, mMediumPaint); 81 mMediumPaint.clearShadowLayer(); 82 canvas.drawText("Hello OpenGL renderer!", 100, 200, mLargePaint); 83 84 mLargePaint.setShadowLayer(2.5f, 3.0f, 3.0f, 0xff000000); 85 canvas.drawText("Hello OpenGL renderer!", 100, 400, mLargePaint); 86 mLargePaint.setShadowLayer(3.0f, 3.0f, 3.0f, 0xff00ff00); 87 mLargePaint.setAlpha(100); 88 canvas.drawText("Hello OpenGL renderer!", 100, 500, mLargePaint); 89 mLargePaint.setAlpha(255); 90 mLargePaint.setShadowLayer(3.0f, 3.0f, 3.0f, 0xd000ff00); 91 mLargePaint.setColor(0x00ffff00); 92 canvas.drawText("Hello OpenGL renderer!", 100, 600, mLargePaint); 93 mLargePaint.setShadowLayer(3.0f, 3.0f, 3.0f, 0x80000000); 94 mLargePaint.setColor(0x4dffffff); 95 canvas.drawText("Hello OpenGL renderer!", 100, 650, mLargePaint); 96 mLargePaint.setAlpha(255); 97 mLargePaint.setColor(0xff000000); 98 mLargePaint.clearShadowLayer(); 99 100 canvas.drawText("Hello OpenGL renderer!", 500, 40, mStrikePaint); 101 mStrikePaint.setStrikeThruText(true); 102 canvas.drawText("Hello OpenGL renderer!", 500, 70, mStrikePaint); 103 mStrikePaint.setUnderlineText(false); 104 canvas.drawText("Hello OpenGL renderer!", 500, 100, mStrikePaint); 105 mStrikePaint.setStrikeThruText(false); 106 mStrikePaint.setUnderlineText(true); 107 108 mSkewPaint.setTextSkewX(-0.25f); 109 canvas.drawText("Hello OpenGL renderer!", 680, 200, mSkewPaint); 110 mSkewPaint.setTextSkewX(0.5f); 111 canvas.drawText("Hello OpenGL renderer!", 680, 230, mSkewPaint); 112 mSkewPaint.setTextSkewX(0.0f); 113 canvas.drawText("Hello OpenGL renderer!", 680, 260, mSkewPaint); 114 115 mScaledPaint.setTextScaleX(0.5f); 116 canvas.drawText("Hello OpenGL renderer!", 500, 200, mScaledPaint); 117 mScaledPaint.setTextScaleX(1.0f); 118 canvas.drawText("Hello OpenGL renderer!", 500, 230, mScaledPaint); 119 mScaledPaint.setTextScaleX(2.0f); 120 canvas.drawText("Hello OpenGL renderer!", 500, 260, mScaledPaint); 121 122 canvas.save(); 123 canvas.clipRect(150.0f, 220.0f, 450.0f, 320.0f); 124 canvas.drawText("Hello OpenGL renderer!", 100, 300, mLargePaint); 125 canvas.restore(); 126 } 127 } 128}