package com.android.Dragable;

import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.Region;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;

public class Dragable extends Activity {


        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(new SampleView(this));

        }

        private static class SampleView extends View implements
OnTouchListener {
                private Paint mPaint;
                private Path mPath;
                private Bitmap twitter;
                private int x ;
                private int y ;
                public SampleView(Context context) {
                        super(context);
                        setFocusable(true);
                        setBackgroundColor(Color.TRANSPARENT);
                        this.setOnTouchListener(this);
                        mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
                        mPaint.setAntiAlias(true);
                        mPaint.setStrokeWidth(6);
                        mPaint.setTextSize(16);
                        mPaint.setTextAlign(Paint.Align.RIGHT);
                        mPath = new Path();
                        twitter = 
BitmapFactory.decodeResource(context.getResources(),
                                        R.drawable.twiter);
                }

                private void drawScene(Canvas canvas) {
                        canvas.clipRect(0, 0, 320, 430);

                        canvas.drawColor(Color.WHITE);

                        canvas.drawBitmap(twitter, 0, 0, mPaint);
                }

                @Override
                protected void onDraw(Canvas canvas) {
                        super.onDraw(canvas);
                        canvas.save();

                        mPath.reset();
                        canvas.clipPath(mPath); // makes the clip empty
                        mPath.addCircle(x, y, 50, Path.Direction.CCW);
                        canvas.clipPath(mPath, Region.Op.REPLACE);
                        drawScene(canvas);
                        canvas.restore();

                }

                @Override
                public boolean onTouch(View view, MotionEvent event) {
                        x = (int) event.getX();
                        y = (int) event.getY();
                        invalidate();
                        return true;
                }
        }
}

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to