/* SPDX-License-Identifier: BSD-2-Clause */ /* * Copyright (C) 2022, Raspberry Pi (Trading) Limited * Copyright (C) 2022, Theobroma Systems * * af_algorithm.h - Autofocus control algorithm interface */ #pragma once #include #include "../algorithm.h" namespace libcamera::ipa::common::algorithms { class AfAlgorithm { public: AfAlgorithm() = default; virtual ~AfAlgorithm() {} virtual void setMode(controls::AfModeEnum mode) = 0; virtual void setRange(controls::AfRangeEnum range) = 0; virtual void setSpeed(controls::AfSpeedEnum speed) = 0; virtual void setMetering(controls::AfMeteringEnum metering) = 0; virtual void setWindows(Span windows) = 0; virtual void setTrigger(controls::AfTriggerEnum trigger) = 0; virtual void setPause(controls::AfPauseEnum pause) = 0; virtual void setLensPosition(float lensPosition) = 0; }; } /* namespace libcamera::ipa::common::algorithms */