1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- 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;
- }
- }
|