From 190ab336fc9a5af5ddbfe3f3906a0c7a3d54ea2f Mon Sep 17 00:00:00 2001 From: Thomas BOY Date: Thu, 8 Jan 2015 11:26:27 +0100 Subject: [PATCH] =?UTF-8?q?Bloquer=20le=20zoom=20aux=20doigts=20si=20une?= =?UTF-8?q?=20distance=20minimum=20n'est=20pas=20d=C3=A9tect=C3=A9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../geneanet/customcamera/CameraActivity.java | 33 ++++++++++--------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/src/android/customCamera/src/org/geneanet/customcamera/CameraActivity.java b/src/android/customCamera/src/org/geneanet/customcamera/CameraActivity.java index 596ce74..53545b3 100644 --- a/src/android/customCamera/src/org/geneanet/customcamera/CameraActivity.java +++ b/src/android/customCamera/src/org/geneanet/customcamera/CameraActivity.java @@ -243,7 +243,8 @@ public class CameraActivity extends Activity { * @param float distanceBetweenFingers Distance between two fingers. */ private void handleZoom(MotionEvent event, Camera.Parameters paramsCamera, - float distanceBetweenFingers) { + float distanceBetweenFingers) { + final Display display = getWindowManager().getDefaultDisplay(); // take zoom max for the camera hardware. int maxZoom = paramsCamera.getMaxZoom(); // current value for the zoom. @@ -251,21 +252,23 @@ public class CameraActivity extends Activity { setZoomProgress(maxZoom, zoom); // new distance between fingers. float newDist = getFingerSpacing(event); - - if (newDist > distanceBetweenFingers) { - // zoom in - if (zoom < maxZoom) { - zoom++; - } - } else if (newDist < distanceBetweenFingers) { - // zoom out - if (zoom > 0) { - zoom--; + + if (Math.abs(newDist - distanceBetweenFingers) > (display.getWidth() / 20)) { + if (newDist > distanceBetweenFingers) { + // zoom in + if (zoom < maxZoom) { + zoom++; + } + } else if (newDist < distanceBetweenFingers) { + // zoom out + if (zoom > 0) { + zoom--; + } } + distanceBetweenFingers = newDist; + paramsCamera.setZoom(zoom); + customCamera.setParameters(paramsCamera); } - distanceBetweenFingers = newDist; - paramsCamera.setZoom(zoom); - customCamera.setParameters(paramsCamera); } /** @@ -569,7 +572,7 @@ public class CameraActivity extends Activity { try { ByteArrayOutputStream stream = new ByteArrayOutputStream(); - photoTaken.compress(CompressFormat.JPEG, 70, stream); + photoTaken.compress(CompressFormat.JPEG, 99, stream); // Get path picture to storage. String pathPicture = Environment.getExternalStorageDirectory()