pub enum Id {
Point,
Scroll,
Touch(uint),
Control(uint),
Track(uint),
}
pub enum Motion {
/// Normalized between 0 and 1 in the space of input receiver.
/// Can exceed bounds, both under 0 and above 1.
Absolute(Id, f64, f64, f64),
/// Localized in the space of input sender.
/// Can be negative.
Relative(Id, f64, f64, f64),
/// Normalized to unit sphere.
/// Length is always 1.
Oriented(Id, f64, f64, f64),
}
Change the
Motion
struct to the following: