using System.Drawing;
using DispenserHal.Camera.DTO;
using DispenserHal.Camera.VO;
namespace DispenserHal.Camera.Interface;
public interface ICamera
{
///
/// 连接相机
///
public CameraResponseVO Connect();
///
/// 连接相机带超时时间
///
public CameraResponseVO Connect(long timeout);
///
/// 关闭相机
///
public CameraResponseVO Close();
///
/// 注册回调函数
///
///
public CameraResponseVO RegisterCallback(Action callback);
///
/// 开启采集(回调方式)
///
public CameraResponseVO StartSteaming();
///
/// 获取一帧图像
///
///
CameraResponseVO TokePhoto();
///
/// 开始连续采集
///
///
CameraResponseVO StartCaptureVideo();
///
/// 停止连续采集
///
///
public CameraResponseVO StopCaptureVideo();
///
/// 切换硬触发模式
///
///
public CameraResponseVO SwitchHardTriggerMode();
///
/// 关闭采集
///
public CameraResponseVO StopSteaming();
///
/// 切换连续触发模式
///
///
public CameraResponseVO SwitchContinuousMode();
///
/// 切换软发模式
///
///
public CameraResponseVO SwitchSoftwareTriggerMode();
///
/// 软触发
///
///
public CameraResponseVO SoftwareTrigger();
//写入参数
public CameraResponseVO SetEnumValue(string strKey, uint nvalue);
public CameraResponseVO SetIntValue(string strKey, long nvalue);
public CameraResponseVO SetBoolValue(string strKey, bool nvalue);
public CameraResponseVO SetFloatValue(string strKey, float nvalue);
bool GetBoolValue(string key);
IntValue GetIntValue(string key);
FloatValue? GetFloatValue(string key);
EnumValue? GetEnumValue(string key);
StringValue? GetStringValue(string key);
///
/// 获取枚举值
///
///
///
///
EnumItem GetEnumEntrySymbolic(string key, uint supportIndex);
}