Example #1
0
        public RGB Get(float x, float y, long ms)
        {
            if (!predicate(x, y, ms))
            {
                return(RGB.Black);
            }

            return(transition.Get(x, y, ms));
        }
Example #2
0
        private RGB[] GetColors(ITransition transition, long ms)
        {
            var nextColors = new RGB[positions.Length];

            for (var i = 0; i < nextColors.Length; i++)
            {
                var position = positions[i];
                nextColors[i] = transition.Get(position.X, position.Y, ms);
            }

            return(nextColors);
        }
Example #3
0
        public RGB Get(float x, float y, long ms)
        {
            var radians = CalculateRadians(x - centerX, y - centerY);

            if (radians < radiansStart && (radiansEnd < TWO_PI || radians + TWO_PI > radiansEnd))
            {
                return(RGB.Black);
            }

            if (radians > radiansEnd)
            {
                return(RGB.Black);
            }

            return(baseTransition.Get(x, y, ms));
        }