package com.lfk.justwetools.View.NewPaint.Graph;
import android.graphics.Canvas;
import com.lfk.justwetools.View.NewPaint.PaintView;
/**
* Created by liufengkai on 15/10/20.
*/
public class DrawPath extends DrawBase {
private Canvas mCanvas;
public DrawPath(Canvas canvas) {
this.mCanvas = canvas;
}
@Override
public void Touch_Down(float x, float y) {
super.Touch_Down(x, y);
mPath.reset();
mPath.moveTo(x, y);
mX = x;
mY = y;
// if(PaintView.IsRecordPath) {
// listener.addNodeToPath(x, y, MotionEvent.ACTION_DOWN, IsPaint);
// }
}
@Override
public void Touch_Up() {
super.Touch_Up();
mPath.lineTo(mX, mY);
// if(PaintView.IsPaint) {
// mCanvas.drawPath(mPath, mPaint);
// }else {
// mCanvas.drawPath(mPath, mEraserPaint);
// }
mPath.reset();
}
@Override
public void Touch_Move(float x, float y) {
super.Touch_Move(x, y);
float dx = Math.abs(x - mX);
float dy = Math.abs(y - mY);
if (dx >= PaintView.TOUCH_TOLERANCE || dy >= PaintView.TOUCH_TOLERANCE) {
mPath.quadTo(mX, mY, (x + mX) / 2, (y + mY) / 2);
mX = x;
mY = y;
// if(IsRecordPath) {
// listener.addNodeToPath(x, y, MotionEvent.ACTION_MOVE, IsPaint);
// }
if(PaintView.IsPaint) {
mCanvas.drawPath(mPath, mPaint);
}else {
mCanvas.drawPath(mPath, mEraserPaint);
}
}
}
@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
if(PaintView.IsPaint)
canvas.drawPath(mPath, mPaint);
else
canvas.drawPath(mPath, mEraserPaint);
}
}