32 QAVFCameraBase(QCamera *camera);
35 bool isActive()
const override;
36 void setActive(
bool active) override final;
38 void setCamera(
const QCameraDevice &camera) override final;
39 bool setCameraFormat(
const QCameraFormat &format) override final;
41 void setFocusMode(QCamera::FocusMode mode) override;
51 bool isFocusModeSupported(QCamera::FocusMode mode)
const override;
53 void setCustomFocusPoint(
const QPointF &point) override;
55 void setFocusDistance(
float distance) override;
56 void zoomTo(
float factor,
float rate) override;
58 void setFlashMode(QCamera::FlashMode mode) override;
59 bool isFlashModeSupported(QCamera::FlashMode mode)
const override;
60 bool isFlashReady()
const override;
62 void setTorchMode(QCamera::TorchMode mode) override;
63 bool isTorchModeSupported(QCamera::TorchMode mode)
const override;
65 void setExposureMode(QCamera::ExposureMode) override;
66 bool isExposureModeSupported(QCamera::ExposureMode mode)
const override;
68 void setExposureCompensation(
float bias) override;
69 void setManualIsoSensitivity(
int value) override;
70 virtual int isoSensitivity()
const override;
71 void setManualExposureTime(
float value) override;
72 virtual float exposureTime()
const override;
76 bool isWhiteBalanceModeSupported(QCamera::WhiteBalanceMode mode)
const override;
77 void setWhiteBalanceMode(QCamera::WhiteBalanceMode ) override;
78 void setColorTemperature(
int ) override;
81 AVCaptureDevice *device()
const;
82 [[nodiscard]]
static AVCaptureDevice* tryGetAvCaptureDevice(
const QCameraDevice &device);
88 virtual void onActiveChanged(
bool active) = 0;
90 virtual void onCameraDeviceChanged(
91 const QCameraDevice &,
92 const QCameraFormat &) = 0;
96 [[nodiscard]]
virtual bool tryApplyCameraFormat(
const QCameraFormat&) = 0;
98 bool checkCameraPermission();
100 void updateCameraConfiguration(
const QCameraDevice &);
101 void updateSupportedFeatures(
const QCameraDevice &);
102 void applyFlashSettings();
106 void applyFocusDistanceToAVCaptureDevice(
float distance);
108 QCameraDevice m_cameraDevice;
109 bool m_active =
false;
111 bool isFlashSupported =
false;
112 bool isFlashAutoSupported =
false;
113 bool isTorchSupported =
false;
114 bool isTorchAutoSupported =
false;
116 void forceSetFocusMode(QCamera::FocusMode mode);
117 void forceZoomTo(
float factor,
float rate);