| /* |
| * Copyright (C) 2014 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package com.android.camera.one; |
| |
| import android.graphics.ImageFormat; |
| import android.graphics.Rect; |
| import android.hardware.camera2.CameraCharacteristics; |
| |
| import com.android.camera.ui.motion.LinearScale; |
| import com.android.camera.util.Size; |
| |
| import java.util.List; |
| |
| /** |
| * The properties describing a OneCamera device. These properties are fixed for |
| * a given OneCamera device. |
| */ |
| public interface OneCameraCharacteristics { |
| public enum SupportedHardwareLevel { |
| FULL, LIMITED, LEGACY |
| } |
| |
| public enum FaceDetectMode { |
| FULL, SIMPLE, NONE |
| } |
| |
| /** |
| * Gets the supported picture sizes for the given image format. |
| * |
| * @param imageFormat The specific image format listed on |
| * {@link ImageFormat}. |
| */ |
| public List<Size> getSupportedPictureSizes(int imageFormat); |
| |
| /** |
| * Gets the supported preview sizes. |
| */ |
| public List<Size> getSupportedPreviewSizes(); |
| |
| /** |
| * @See {@link CameraCharacteristics#SENSOR_ORIENTATION} |
| */ |
| public int getSensorOrientation(); |
| |
| /** |
| * @Return The direction of the camera |
| */ |
| public OneCamera.Facing getCameraDirection(); |
| |
| /** |
| * @See {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE} |
| */ |
| public Rect getSensorInfoActiveArraySize(); |
| |
| /** |
| * @See {@link CameraCharacteristics#SCALER_AVAILABLE_MAX_DIGITAL_ZOOM} |
| */ |
| public float getAvailableMaxDigitalZoom(); |
| |
| /** |
| * @return If flash is supported for this camera. |
| */ |
| public boolean isFlashSupported(); |
| |
| /** |
| * @return If Scene-mode HDR is supported. |
| */ |
| public boolean isHdrSceneSupported(); |
| |
| /** |
| * @return The supported hardware level. |
| */ |
| public SupportedHardwareLevel getSupportedHardwareLevel(); |
| |
| /** |
| * @return The supported face detection modes. |
| */ |
| public List<FaceDetectMode> getSupportedFaceDetectModes(); |
| |
| /** |
| * A converter from the physical focus range of the camera to a ratio. |
| */ |
| public LinearScale getLensFocusRange(); |
| |
| /** |
| * @return A List of available focal lengths for this camera. |
| */ |
| public List<Float> getAvailableFocalLengths(); |
| |
| /** |
| * Whether exposure compensation is supported for this camera. |
| * |
| * @return true if exposure compensation is supported for this camera. |
| */ |
| public boolean isExposureCompensationSupported(); |
| |
| /** |
| * @return The min exposure compensation index. The EV is the compensation |
| * index multiplied by the step value. If {@link |
| * #isExposureCompensationSupported()} is false, return -1. |
| */ |
| public int getMinExposureCompensation(); |
| |
| /** |
| * @return The max exposure compensation index. The EV is the compensation |
| * index multiplied by the step value. If {@link |
| * #isExposureCompensationSupported()} is false, return -1. |
| */ |
| public int getMaxExposureCompensation(); |
| |
| /** |
| * @return The exposure compensation step. The EV is the compensation index |
| * multiplied by the step value. If {@link |
| * #isExposureCompensationSupported()} is false, return -1. |
| */ |
| public float getExposureCompensationStep(); |
| |
| /** |
| * @return true if this camera supports custom AutoFocus regions. |
| */ |
| public boolean isAutoFocusSupported(); |
| |
| /** |
| * @return true if this camera supports continuous picture autofocus. |
| */ |
| public boolean isContinuousPictureAutoFocusSupported(); |
| |
| /** |
| * @return true if this camera supports custom AutoExposure regions. |
| */ |
| public boolean isAutoExposureSupported(); |
| } |