AlphaTab.Rendering.Staves.BarLayoutingInfo.AddSpring C# (CSharp) Method

AddSpring() public method

public AddSpring ( int start, int duration, float springSize, float preSpringSize ) : Spring
start int
duration int
springSize float
preSpringSize float
return Spring
        public Spring AddSpring(int start, int duration, float springSize, float preSpringSize)
        {
            Spring spring;
            if (!Springs.ContainsKey(start))
            {
                spring = new Spring();
                spring.TimePosition = start;
                spring.SmallestDuration = duration;
                spring.LongestDuration = duration;
                spring.SpringWidth = springSize;
                spring.PreSpringWidth = preSpringSize;
                Springs[start] = spring;
            }
            else
            {
                spring = Springs[start];
                if (spring.SpringWidth < springSize)
                {
                    spring.SpringWidth = springSize;
                }
                if (spring.PreSpringWidth < preSpringSize)
                {
                    spring.PreSpringWidth = preSpringSize;
                }
                if (duration < spring.SmallestDuration)
                {
                    spring.SmallestDuration = duration;
                }
                if (duration > spring.LongestDuration)
                {
                    spring.LongestDuration = duration;
                }
            }

            if (duration < SmallestDuration)
            {
                SmallestDuration = duration;
            }

            return spring;
        }