public RGB Get(float x, float y, long ms) { if (!predicate(x, y, ms)) { return(RGB.Black); } return(transition.Get(x, y, ms)); }
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); }
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)); }