TextActivity.java revision cabfcc1364eb7e4de0b15b3574fba45027b45cfc
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 mScaledPaint.setShadowLayer(3.0f, 3.0f, 3.0f, 0xff00ff00); 62 63 mSkewPaint = new Paint(); 64 mSkewPaint.setAntiAlias(true); 65 mSkewPaint.setTextSize(16.0f); 66 mSkewPaint.setShadowLayer(3.0f, 3.0f, 3.0f, 0xff000000); 67 } 68 69 @Override 70 protected void onDraw(Canvas canvas) { 71 super.onDraw(canvas); 72 canvas.drawRGB(255, 255, 255); 73 74 canvas.drawText("Hello OpenGL renderer!", 100, 20, mMediumPaint); 75 mMediumPaint.setTextAlign(Paint.Align.CENTER); 76 canvas.drawText("Hello OpenGL renderer!", 100, 40, mMediumPaint); 77 mMediumPaint.setTextAlign(Paint.Align.RIGHT); 78 canvas.drawText("Hello OpenGL renderer!", 100, 60, mMediumPaint); 79 mMediumPaint.setTextAlign(Paint.Align.LEFT); 80 canvas.drawText("Hello OpenGL renderer!", 100, 100, mMediumPaint); 81 mMediumPaint.setShadowLayer(2.5f, 0.0f, 0.0f, 0xff000000); 82 canvas.drawText("Hello OpenGL renderer!", 100, 150, mMediumPaint); 83 mMediumPaint.clearShadowLayer(); 84 canvas.drawText("Hello OpenGL renderer!", 100, 200, mLargePaint); 85 86 mLargePaint.setShadowLayer(2.5f, 3.0f, 3.0f, 0xff000000); 87 canvas.drawText("Hello OpenGL renderer!", 100, 400, mLargePaint); 88 mLargePaint.setShadowLayer(3.0f, 3.0f, 3.0f, 0xff00ff00); 89 mLargePaint.setAlpha(100); 90 canvas.drawText("Hello OpenGL renderer!", 100, 500, mLargePaint); 91 mLargePaint.setAlpha(255); 92 mLargePaint.setShadowLayer(3.0f, 3.0f, 3.0f, 0xd000ff00); 93 mLargePaint.setColor(0x00ffff00); 94 canvas.drawText("Hello OpenGL renderer!", 100, 600, mLargePaint); 95 mLargePaint.setShadowLayer(3.0f, 3.0f, 3.0f, 0x80000000); 96 mLargePaint.setColor(0x4dffffff); 97 canvas.drawText("Hello OpenGL renderer!", 100, 650, mLargePaint); 98 mLargePaint.setAlpha(255); 99 mLargePaint.setColor(0xff000000); 100 mLargePaint.clearShadowLayer(); 101 102 canvas.drawText("Hello OpenGL renderer!", 500, 40, mStrikePaint); 103 mStrikePaint.setStrikeThruText(true); 104 canvas.drawText("Hello OpenGL renderer!", 500, 70, mStrikePaint); 105 mStrikePaint.setUnderlineText(false); 106 canvas.drawText("Hello OpenGL renderer!", 500, 100, mStrikePaint); 107 mStrikePaint.setStrikeThruText(false); 108 mStrikePaint.setUnderlineText(true); 109 110 mSkewPaint.setTextSkewX(-0.25f); 111 canvas.drawText("Hello OpenGL renderer!", 980, 200, mSkewPaint); 112 mSkewPaint.setTextSkewX(0.5f); 113 canvas.drawText("Hello OpenGL renderer!", 980, 230, mSkewPaint); 114 mSkewPaint.setTextSkewX(0.0f); 115 canvas.drawText("Hello OpenGL renderer!", 980, 260, mSkewPaint); 116 117 mScaledPaint.setTextScaleX(0.5f); 118 canvas.drawText("Hello OpenGL renderer!", 500, 200, mScaledPaint); 119 mScaledPaint.setTextScaleX(1.0f); 120 canvas.drawText("Hello OpenGL renderer!", 500, 230, mScaledPaint); 121 mScaledPaint.setTextScaleX(2.0f); 122 canvas.drawText("Hello OpenGL renderer!", 500, 260, mScaledPaint); 123 124 canvas.save(); 125 canvas.clipRect(150.0f, 220.0f, 450.0f, 320.0f); 126 canvas.drawText("Hello OpenGL renderer!", 100, 300, mLargePaint); 127 canvas.restore(); 128 } 129 } 130} 131