private IList <int> EnumerateStrokeSampleIndicesBetweenCurrencyTokens(CurrencyToken oldCurrencyToken, CurrencyToken newCurrencyToken) { Validate.Begin().IsNotNull <CurrencyToken>(oldCurrencyToken, "oldCurrencyToken").IsNotNull <CurrencyToken>(newCurrencyToken, "newCurrencyToken").Check(); int count = newCurrencyToken.StrokeSamplesCount - oldCurrencyToken.StrokeSamplesCount; int startIndex = oldCurrencyToken.StrokeSamplesCount; return(new FuncList <int>(count, i => i + startIndex)); }
private IList <int?> GetStrokeSampleIndicesInRect(RectInt32 bounds, CurrencyToken currencyToken) { Validate.IsNotNull <CurrencyToken>(currencyToken, "currencyToken"); if (this != currencyToken.RenderData) { throw new ArgumentException(); } this.EnsureStrokeSamplesUpdated(); using (this.rwLock.UseReadLock()) { int tokenStrokeSampleCount = currencyToken.StrokeSamplesCount; return(this.EnumerateStrokeSampleIndicesInRectWhileLockedAndUpdated(bounds).Select <int, int?>(delegate(int si) { if (si >= tokenStrokeSampleCount) { return null; } return new int?(si); })); } }
private IList <int?> EnumerateStrokeSampleIndicesForCurrencyToken(CurrencyToken currencyToken) { Validate.IsNotNull <CurrencyToken>(currencyToken, "currencyToken"); return(new FuncList <int?>(currencyToken.StrokeSamplesCount, i => new int?(i))); }