Animatroller.Framework.LogicalDevice.VirtualPixel1D.SetColors C# (CSharp) Method

SetColors() public method

public SetColors ( int startPosition, ColorBrightness colorBrightness ) : VirtualPixel1D
startPosition int
colorBrightness ColorBrightness
return VirtualPixel1D
        public virtual VirtualPixel1D SetColors(int startPosition, ColorBrightness[] colorBrightness)
        {
            int? firstPosition = null;
            int lastPosition = 0;
            for (int i = 0; i < colorBrightness.Length; i++)
            {
                if (i + startPosition < 0)
                    continue;
                if (i + startPosition >= Pixels)
                    continue;

                if (!firstPosition.HasValue)
                    firstPosition = i + startPosition;
                lastPosition = i + startPosition;

                this.color[i + startPosition] = colorBrightness[i].Color;
                this.brightness[i + startPosition] = colorBrightness[i].Brightness;
            }

            if (firstPosition.HasValue)
                RaiseMultiPixelChanged(firstPosition.Value, lastPosition - firstPosition.Value + 1);

            return this;
        }