using System; namespace BBIWARG.Input.InputProviding { /// <summary> /// signature for the event that the device started /// </summary> /// <param name="sender">sender of the event</param> /// <param name="e">arguments of the event</param> public delegate void DeviceStartedEventHandler(object sender, EventArgs e); /// <summary> /// signature for the event that a new frame is available /// </summary> /// <param name="sender">sender of the event</param> /// <param name="e">arguments of the event</param> public delegate void NewFrameEventHandler(object sender, NewFrameEventArgs e); public interface IInputProvider { /// <summary> /// the id of the current frame /// </summary> int CurrentFrameID { get; } /// <summary> /// the horizontal field of view angle /// </summary> float FieldOfViewHorizontal { get; } /// <summary> /// the vertical field of view angle /// </summary> float FieldOfViewVertical { get; } /// <summary> /// the height of all images /// </summary> int ImageHeight { get; } /// <summary> /// the width of all images /// </summary> int ImageWidth { get; } /// <summary> /// true iff the input source provides data /// </summary> bool IsActive { get; } /// <summary> /// event that the device started /// </summary> event DeviceStartedEventHandler DeviceStartedEvent; /// <summary> /// event that a new frame is available /// </summary> event NewFrameEventHandler NewFrameEvent; void initialize(); void start(); void stop(); bool IsCrashed(); } }