mirror of
https://github.com/SimpleMobileTools/Simple-Camera.git
synced 2025-06-27 09:02:59 +02:00
add a simple gesture detector for future zooming
This commit is contained in:
@ -12,6 +12,7 @@ import android.net.Uri;
|
|||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.MotionEvent;
|
import android.view.MotionEvent;
|
||||||
|
import android.view.ScaleGestureDetector;
|
||||||
import android.view.Surface;
|
import android.view.Surface;
|
||||||
import android.view.SurfaceHolder;
|
import android.view.SurfaceHolder;
|
||||||
import android.view.SurfaceView;
|
import android.view.SurfaceView;
|
||||||
@ -48,6 +49,7 @@ public class Preview extends ViewGroup
|
|||||||
private static Point mScreenSize;
|
private static Point mScreenSize;
|
||||||
private static Uri mTargetUri;
|
private static Uri mTargetUri;
|
||||||
private static Context mContext;
|
private static Context mContext;
|
||||||
|
private static ScaleGestureDetector mScaleGestureDetector;
|
||||||
|
|
||||||
private static boolean mCanTakePicture;
|
private static boolean mCanTakePicture;
|
||||||
private static boolean mIsFlashEnabled;
|
private static boolean mIsFlashEnabled;
|
||||||
@ -86,6 +88,7 @@ public class Preview extends ViewGroup
|
|||||||
mCurVideoPath = "";
|
mCurVideoPath = "";
|
||||||
mScreenSize = Utils.getScreenSize(mActivity);
|
mScreenSize = Utils.getScreenSize(mActivity);
|
||||||
mContext = getContext();
|
mContext = getContext();
|
||||||
|
initGestureDetector();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void trySwitchToVideo() {
|
public void trySwitchToVideo() {
|
||||||
@ -158,6 +161,16 @@ public class Preview extends ViewGroup
|
|||||||
mTargetUri = uri;
|
mTargetUri = uri;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void initGestureDetector() {
|
||||||
|
mScaleGestureDetector = new ScaleGestureDetector(mContext, new ScaleGestureDetector.SimpleOnScaleGestureListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onScale(ScaleGestureDetector detector) {
|
||||||
|
final float factor = detector.getScaleFactor();
|
||||||
|
return super.onScale(detector);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
private static int getPreviewRotation(int cameraId) {
|
private static int getPreviewRotation(int cameraId) {
|
||||||
final Camera.CameraInfo info = Utils.getCameraInfo(cameraId);
|
final Camera.CameraInfo info = Utils.getCameraInfo(cameraId);
|
||||||
final int degrees = getRotationDegrees();
|
final int degrees = getRotationDegrees();
|
||||||
@ -542,6 +555,7 @@ public class Preview extends ViewGroup
|
|||||||
public boolean onTouch(View v, MotionEvent event) {
|
public boolean onTouch(View v, MotionEvent event) {
|
||||||
mLastClickX = (int) event.getX();
|
mLastClickX = (int) event.getX();
|
||||||
mLastClickY = (int) event.getY();
|
mLastClickY = (int) event.getY();
|
||||||
|
mScaleGestureDetector.onTouchEvent(event);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user