package de.jeisfeld.augendiagnoselib.util; import de.jeisfeld.augendiagnoselib.activities.CameraActivity.FlashMode; import de.jeisfeld.augendiagnoselib.activities.CameraActivity.FocusMode; /** * An interface to take pictures with the camera. */ public interface CameraHandler { /** * Set the flashlight mode. * * @param flashlightMode The new flashlight mode. */ void setFlashlightMode(FlashMode flashlightMode); /** * Set the focus mode. * * @param focusMode The new focus mode. */ void setFocusMode(FocusMode focusMode); /** * Update the relative zoom of the camera (relative to the maximal zoom). * * @param relativeZoom The new relative zoom. */ void setRelativeZoom(float relativeZoom); /** * Start the camera preview. Should be idempotent. */ void startPreview(); /** * Stop the camera preview. Should be idempotent. */ void stopPreview(); /** * Take a picture. */ void takePicture(); }