1 package net.osdn.gokigen.a01d.camera.ricohgr2.operation;
3 import android.graphics.PointF;
4 import android.util.Log;
5 import android.view.MotionEvent;
7 import net.osdn.gokigen.a01d.camera.IFocusingControl;
8 import net.osdn.gokigen.a01d.camera.ricohgr2.operation.takepicture.RicohGr2AutoFocusControl;
9 import net.osdn.gokigen.a01d.camera.ricohgr2.wrapper.IUsePentaxCommand;
10 import net.osdn.gokigen.a01d.liveview.IAutoFocusFrameDisplay;
11 import net.osdn.gokigen.a01d.liveview.IIndicatorControl;
13 import androidx.annotation.NonNull;
15 public class RicohGr2CameraFocusControl implements IFocusingControl
17 private final String TAG = toString();
18 private final RicohGr2AutoFocusControl afControl;
19 private final IAutoFocusFrameDisplay frameDisplay;
21 public RicohGr2CameraFocusControl(@NonNull final IAutoFocusFrameDisplay frameDisplayer, @NonNull final IIndicatorControl indicator, @NonNull IUsePentaxCommand usePentaxCommand)
23 this.frameDisplay = frameDisplayer;
24 this.afControl = new RicohGr2AutoFocusControl(frameDisplayer, indicator, usePentaxCommand);
28 public boolean driveAutoFocus(MotionEvent motionEvent)
30 Log.v(TAG, "driveAutoFocus()");
31 if (motionEvent.getAction() != MotionEvent.ACTION_DOWN)
37 PointF point = frameDisplay.getPointWithEvent(motionEvent);
38 if (frameDisplay.isContainsPoint(point))
40 afControl.lockAutoFocus(point);
51 public void unlockAutoFocus()
53 afControl.unlockAutoFocus();
57 public void halfPressShutter(boolean isPressed)
59 afControl.halfPressShutter(isPressed);