1 package net.osdn.gokigen.gr2control.camera.ricohgr2.operation;
3 import android.graphics.PointF;
4 import android.util.Log;
5 import android.view.MotionEvent;
7 import net.osdn.gokigen.gr2control.camera.IFocusingControl;
8 import net.osdn.gokigen.gr2control.camera.ricohgr2.operation.takepicture.RicohGr2AutoFocusControl;
9 import net.osdn.gokigen.gr2control.liveview.IAutoFocusFrameDisplay;
10 import net.osdn.gokigen.gr2control.liveview.IIndicatorControl;
12 import androidx.annotation.NonNull;
18 public class RicohGr2CameraFocusControl implements IFocusingControl
20 private final String TAG = toString();
21 private final RicohGr2AutoFocusControl afControl;
22 private final IAutoFocusFrameDisplay frameDisplay;
28 public RicohGr2CameraFocusControl(boolean useGrCommand, @NonNull final IAutoFocusFrameDisplay frameDisplayer, @NonNull final IIndicatorControl indicator)
30 this.frameDisplay = frameDisplayer;
31 this.afControl = new RicohGr2AutoFocusControl(useGrCommand, frameDisplayer, indicator);
39 public boolean driveAutoFocus(MotionEvent motionEvent)
41 Log.v(TAG, "driveAutoFocus()");
42 if (motionEvent.getAction() != MotionEvent.ACTION_DOWN)
48 PointF point = frameDisplay.getPointWithEvent(motionEvent);
49 if (frameDisplay.isContainsPoint(point))
51 afControl.lockAutoFocus(point);
66 public void unlockAutoFocus()
68 afControl.unlockAutoFocus();
72 public void halfPressShutter(boolean isPressed)