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; } } }