31 QAVFCameraBase(QCamera *camera);
34 bool isActive()
const override;
35 void setActive(
bool active) override final;
37 void setCamera(
const QCameraDevice &camera) override final;
38 bool setCameraFormat(
const QCameraFormat &format) override final;
40 void setFocusMode(QCamera::FocusMode mode) override;
50 bool isFocusModeSupported(QCamera::FocusMode mode)
const override;
52 void setCustomFocusPoint(
const QPointF &point) override;
54 void setFocusDistance(
float distance) override;
55 void zoomTo(
float factor,
float rate) override;
57 void setFlashMode(QCamera::FlashMode mode) override;
58 bool isFlashModeSupported(QCamera::FlashMode mode)
const override;
59 bool isFlashReady()
const override;
61 void setTorchMode(QCamera::TorchMode mode) override;
62 bool isTorchModeSupported(QCamera::TorchMode mode)
const override;
64 void setExposureMode(QCamera::ExposureMode) override;
65 bool isExposureModeSupported(QCamera::ExposureMode mode)
const override;
67 void setExposureCompensation(
float bias) override;
68 void setManualIsoSensitivity(
int value) override;
69 virtual int isoSensitivity()
const override;
70 void setManualExposureTime(
float value) override;
71 virtual float exposureTime()
const override;
75 bool isWhiteBalanceModeSupported(QCamera::WhiteBalanceMode mode)
const override;
76 void setWhiteBalanceMode(QCamera::WhiteBalanceMode ) override;
77 void setColorTemperature(
int ) override;
80 AVCaptureDevice *device()
const;
81 [[nodiscard]]
static AVCaptureDevice* tryGetAvCaptureDevice(
const QCameraDevice &device);
87 virtual void onActiveChanged(
bool active) = 0;
89 virtual void onCameraDeviceChanged(
const QCameraDevice &device) = 0;
93 [[nodiscard]]
virtual bool tryApplyCameraFormat(
const QCameraFormat&) = 0;
95 bool checkCameraPermission();
97 void updateCameraConfiguration();
98 void updateSupportedFeatures();
99 void applyFlashSettings();
103 void applyFocusDistanceToAVCaptureDevice(
float distance);
105 QCameraDevice m_cameraDevice;
106 bool m_active =
false;
108 bool isFlashSupported =
false;
109 bool isFlashAutoSupported =
false;
110 bool isTorchSupported =
false;
111 bool isTorchAutoSupported =
false;
113 void forceSetFocusMode(QCamera::FocusMode mode);
114 void forceZoomTo(
float factor,
float rate);