rkaiq 5.0.6

Rockchip RKAIQ bindings for Rust
//! 环境光强检测
//!
//! 通过图像信息计算当前环境亮度。
use super::context::Context;
use super::error::XCamError;
use super::ffi;
use super::types::{AsdAttrib, XCamResult};

/// 一个描述环境光强检测的契定。
pub trait AmbientDetection {
    /// 获取当前环境亮度的计算结果。
    fn get_asd_attrib(&self) -> XCamResult<AsdAttrib>;
}

impl AmbientDetection for Context {
    fn get_asd_attrib(&self) -> XCamResult<AsdAttrib> {
        let mut attr: AsdAttrib = Default::default();
        unsafe {
            XCamError::from(ffi::rk_aiq_user_api_asd_GetAttrib(
                self.internal.as_ptr(),
                &mut attr,
            ))
            .ok()
            .map(|_| attr)
        }
    }
}