1 package net.osdn.gokigen.gr2control.camera.ricohgr2.operation;
3 import android.graphics.PointF;
4 import android.support.annotation.NonNull;
5 import android.util.Log;
6 import android.view.MotionEvent;
8 import net.osdn.gokigen.gr2control.camera.IFocusingControl;
9 import net.osdn.gokigen.gr2control.camera.ricohgr2.operation.takepicture.RicohGr2AutoFocusControl;
10 import net.osdn.gokigen.gr2control.liveview.IAutoFocusFrameDisplay;
11 import net.osdn.gokigen.gr2control.liveview.IIndicatorControl;
17 public class RicohGr2CameraFocusControl implements IFocusingControl
19 private final String TAG = toString();
20 private final RicohGr2AutoFocusControl afControl;
21 private final IAutoFocusFrameDisplay frameDisplay;
27 public RicohGr2CameraFocusControl(@NonNull final IAutoFocusFrameDisplay frameDisplayer, @NonNull final IIndicatorControl indicator)
29 this.frameDisplay = frameDisplayer;
30 this.afControl = new RicohGr2AutoFocusControl(frameDisplayer, indicator);
38 public boolean driveAutoFocus(MotionEvent motionEvent)
40 Log.v(TAG, "driveAutoFocus()");
41 if (motionEvent.getAction() != MotionEvent.ACTION_DOWN)
47 PointF point = frameDisplay.getPointWithEvent(motionEvent);
48 if (frameDisplay.isContainsPoint(point))
50 afControl.lockAutoFocus(point);
65 public void unlockAutoFocus()
67 afControl.unlockAutoFocus();