예제 #1
0
 /// <summary>
 /// called on profile reset
 /// </summary>
 internal void Reset()
 {
     _boundRotaryControl = null;
     _pulsesSinceBinding = 0d;
     _lastAngle          = 0d;
     _initialInputValue  = null;
 }
예제 #2
0
        private void ClaimControlIfAvailable(HeliosActionEventArgs e)
        {
            if (!_parent.TryClaimControl(out HeliosVisual visual))
            {
                return;
            }

            _boundRotaryControl = visual as IRotaryControl;
            _boundPulsedControl = visual as IPulsedControl;
            _controlName.SetValue(new BindingValue(visual.Name), false);
            _initialAngle       = _boundRotaryControl?.ControlAngle ?? 0d;
            _lastAngle          = _initialAngle;
            _initialInputValue  = e.Value;
            _pulsesSinceBinding = 0d;
            _pulseMode          = PulseSwitches && (visual is IRotarySwitch);
        }