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();
}
}
}