using System.Collections; using System.Windows; namespace Microsoft.Research.DynamicDataDisplay.DataSources { /// This enumerator enumerates given enumerable object as sequence of points /// Type parameter of source IEnumerable public sealed class EnumerablePointEnumerator : IPointEnumerator { private readonly EnumerableDataSource dataSource; private readonly IEnumerator enumerator; public EnumerablePointEnumerator(EnumerableDataSource dataSource) { this.dataSource = dataSource; enumerator = dataSource.Data.GetEnumerator(); } public bool MoveNext() { return enumerator.MoveNext(); } public void GetCurrent(ref Point p) { dataSource.FillPoint((T)enumerator.Current, ref p); } public void ApplyMappings(DependencyObject target) { dataSource.ApplyMappings(target, (T)enumerator.Current); } public void Dispose() { //enumerator.Reset(); } } }