internal AccelerometerBinding( IAccelerometerInput input, Configuration.InputValueHandle handle, BindingType property, float zeroAngle, float sensitivity) : base(handle, zeroAngle, sensitivity) { this._input = input; this._type = property; _event_handler = GetHandler(property); _input.AccelerometerChanged += _event_handler; _analyzer_handler = new EventHandler <AccelerometerChangedEventArgs>(_analyzer_handle); input.AccelerometerChanged += _analyzer_handler; }
private InputBinding ConfigureAccelerometer( XPathNavigator navigator, XPathNodeIterator bindingIt, IAccelerometerInput input) { string point = bindingIt.Current.GetAttribute("point", ""); float zeroAngle = float.Parse(bindingIt.Current.GetAttribute("zeroAngle", ""), CultureInfo.InvariantCulture); float sensitivity = float.Parse(bindingIt.Current.GetAttribute("sensitivity", ""), CultureInfo.InvariantCulture); XPathNodeIterator acc = bindingIt.Current.Select("accelerometer"); if (acc.Count > 0) { acc.MoveNext(); string device = acc.Current.GetAttribute("device", ""); string strAxis = acc.Current.GetAttribute("axis", ""); AccelerometerBinding.BindingType axis = (AccelerometerBinding.BindingType)Enum.Parse(typeof(AccelerometerBinding.BindingType), strAxis); input.Start(device); return(new AccelerometerBinding(input, Configuration.GetHandle(point), axis, zeroAngle, sensitivity)); } return(null); }