CPF/CPF.ReoGrid/NumericalAutoFillSectionEntry.cs

37 lines
1017 B
C#
Raw Normal View History

2024-06-24 10:15:59 +08:00
using System;
namespace CPF.ReoGrid
{
public class NumericalAutoFillSectionEntry : IAutoFillSectionEntry
{
public object Value { get; }
public NumericalAutoFillSectionEntry(double value)
{
this.Value = value;
}
public bool IsSequenceOf(IAutoFillSectionEntry otherEntry)
{
return otherEntry is NumericalAutoFillSectionEntry;
}
public object GetIterationValue(object baseValue, object incrementPerIteration, int iteration)
{
double differenceToBaseValue = this.GetDifferenceToBaseValue(baseValue);
double num = (double)incrementPerIteration;
return (double)baseValue + differenceToBaseValue + num * (double)iteration;
}
public object GetIncrementPerIteration(object baseValue, int numberOfEntries)
{
return (numberOfEntries > 1) ? (this.GetDifferenceToBaseValue(baseValue) / (double)(numberOfEntries - 1) * (double)numberOfEntries) : 0.0;
}
private double GetDifferenceToBaseValue(object baseValue)
{
return (double)this.Value - (double)baseValue;
}
}
}