コード例 #1
0
        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));
        }
コード例 #2
0
 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);
         }));
     }
 }
コード例 #3
0
 private IList <int?> EnumerateStrokeSampleIndicesForCurrencyToken(CurrencyToken currencyToken)
 {
     Validate.IsNotNull <CurrencyToken>(currencyToken, "currencyToken");
     return(new FuncList <int?>(currencyToken.StrokeSamplesCount, i => new int?(i)));
 }