ClipRegionActivity.java revision 735738c4ddf3229caa5f6e634bf591953ac29944
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.Region; 23import android.os.Bundle; 24import android.view.View; 25 26@SuppressWarnings({"UnusedDeclaration"}) 27public class ClipRegionActivity extends Activity { 28 @Override 29 protected void onCreate(Bundle savedInstanceState) { 30 super.onCreate(savedInstanceState); 31 final RegionView view = new RegionView(this); 32 setContentView(view); 33 } 34 35 public static class RegionView extends View { 36 public RegionView(Context c) { 37 super(c); 38 } 39 40 @Override 41 protected void onDraw(Canvas canvas) { 42 super.onDraw(canvas); 43 44 canvas.save(); 45 canvas.clipRect(100.0f, 100.0f, getWidth() - 100.0f, getHeight() - 100.0f, 46 Region.Op.DIFFERENCE); 47 canvas.drawARGB(128, 255, 0, 0); 48 canvas.restore(); 49 50 invalidate(); 51 } 52 } 53} 54