Animatroller.Framework.LogicalDevice.ControlledObserverRGB.ControlledObserverRGB C# (CSharp) Method

ControlledObserverRGB() public method

public ControlledObserverRGB ( IControlToken controlToken, IControlToken>.ControlSubject control ) : System
controlToken IControlToken
control IControlToken>.ControlSubject
return System
        public ControlledObserverRGB(IControlToken controlToken, ControlSubject<Color, IControlToken> control)
        {
            this.controlToken = controlToken;

            this.observerR = Observer.Create<double>(x =>
                {
                    Color newColor = Color.FromArgb(x.GetByteScale(), control.Value.G, control.Value.B);

                    control.OnNext(newColor, this.controlToken);
                });

            this.observerG = Observer.Create<double>(x =>
                {
                    Color newColor = Color.FromArgb(control.Value.R, x.GetByteScale(), control.Value.B);

                    control.OnNext(newColor, this.controlToken);
                });

            this.observerB = Observer.Create<double>(x =>
                {
                    Color newColor = Color.FromArgb(control.Value.R, control.Value.G, x.GetByteScale());

                    control.OnNext(newColor, this.controlToken);
                });
        }