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