package com.example.com.tw.graphicmemo_1;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.MotionEvent;
import android.view.View;

public class PaintView extends View {

    public Paint paint;
    private Canvas canvas;
    protected Bitmap baseBitmap;
    private float StartX=0,StartY=0,StopX=0,StopY=0;

    public PaintView(Context context) {
        super(context);
        paint=new Paint();
        paint.setStrokeWidth(5);
        paint.setColor(getResources().getColor(R.color.black));
        paint.setStrokeJoin(Paint.Join.ROUND);
        paint.setStrokeCap(Paint.Cap.ROUND);
    }


    @Override
    protected void onDraw(Canvas canvas) {

        this.canvas=canvas;
        this.canvas.drawLine(StartX, StartY, StopX, StopY, paint);
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {

        switch(event.getAction()){

            case MotionEvent.ACTION_DOWN:

                if(baseBitmap==null){
                    baseBitmap= Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);
                    canvas=new Canvas(baseBitmap);
                    canvas.drawColor(Color.WHITE);
                    baseBitmap.setHasAlpha(true);
                }

                StartX=event.getX();
                StartY=event.getY();

                return true;

            case MotionEvent.ACTION_MOVE:
                StopX=event.getX();
                StopY=event.getY();
                invalidate();
                return true;
            case MotionEvent.ACTION_UP:
                break;
        }

        return false;
    }
}