package com.poqop.document.multitouch; import android.view.MotionEvent; import com.poqop.document.models.ZoomModel; public class MultiTouchZoomImpl implements MultiTouchZoom { private final ZoomModel zoomModel; private boolean resetLastPointAfterZoom; private float lastZoomDistance; public MultiTouchZoomImpl(ZoomModel zoomModel) { this.zoomModel = zoomModel; } public boolean onTouchEvent(MotionEvent ev) { /* if ((ev.getAction() & MotionEvent.ACTION_POINTER_DOWN) == MotionEvent.ACTION_POINTER_DOWN) { lastZoomDistance = getZoomDistance(ev); return true; } if ((ev.getAction() & MotionEvent.ACTION_POINTER_UP) == MotionEvent.ACTION_POINTER_UP) { lastZoomDistance = 0; zoomModel.commit(); resetLastPointAfterZoom = true; return true; }*/ if (ev.getAction() == MotionEvent.ACTION_MOVE && lastZoomDistance != 0) { /* float zoomDistance = getZoomDistance(ev); zoomModel.setZoom(zoomModel.getZoom() * zoomDistance / lastZoomDistance); lastZoomDistance = zoomDistance;*/ return true; } return false; } /* private float getZoomDistance(MotionEvent ev) { return (float) Math.sqrt(Math.pow(ev.getX(0) - ev.getX(1), 2) + Math.pow(ev.getY(0) - ev.getY(1), 2)); }*/ public boolean isResetLastPointAfterZoom() { return resetLastPointAfterZoom; } public void setResetLastPointAfterZoom(boolean resetLastPointAfterZoom) { this.resetLastPointAfterZoom = resetLastPointAfterZoom; } }