using Chernobyl.Input.Controls.Axis;
using Chernobyl.Mathematics.Mechanics;
namespace Chernobyl.Input.Controls
{
///
/// An interface for handling mouse devices. This interface derives from
/// where the X axis is the X position, Y is the Y
/// position, and Z is the scroll wheel value of the .
///
public interface IMouse : IAxis2DControl, IAxis3D
{
///
/// The left mouse button.
///
IButtonControl LeftButton { get; }
///
/// The middle mouse button.
///
IButtonControl MiddleButton { get; }
///
/// The right mouse button
///
IButtonControl RightButton { get; }
///
/// An extra button available on some mouse devices.
///
IButtonControl ExtraButton1 { get; }
///
/// An extra button available on some mouse devices.
///
IButtonControl ExtraButton2 { get; }
///
/// Gets the position of the scroll wheel. This is a cumulative
/// value since the application was started. Forward on the scroll
/// wheel is a positive direction, backward is a negative direction.
///
IAxisControl ScrollWheel { get; }
}
}