// Token: 0x0600714D RID: 29005 RVA: 0x00206A90 File Offset: 0x00204C90
        private object PagesChangedDelegate(object parameter)
        {
            PagesChangedEventArgs pagesChangedEventArgs = parameter as PagesChangedEventArgs;

            if (pagesChangedEventArgs == null)
            {
                throw new ArgumentOutOfRangeException("parameter");
            }
            this.ValidatePaginationArgs(pagesChangedEventArgs.Start, pagesChangedEventArgs.Count);
            int num = pagesChangedEventArgs.Count;

            if (pagesChangedEventArgs.Start + pagesChangedEventArgs.Count >= this._cache.Count || pagesChangedEventArgs.Start + pagesChangedEventArgs.Count < 0)
            {
                num = this._cache.Count - pagesChangedEventArgs.Start;
            }
            List <PageCacheChange> list = new List <PageCacheChange>(1);

            if (num > 0)
            {
                PageCacheChange pageCacheChange = this.DirtyRange(pagesChangedEventArgs.Start, num);
                if (pageCacheChange != null)
                {
                    list.Add(pageCacheChange);
                }
                this.FirePageCacheChangedEvent(list);
            }
            if (this.PagesChanged != null)
            {
                this.PagesChanged(this, pagesChangedEventArgs);
            }
            return(null);
        }
Esempio n. 2
0
 /// <summary>
 /// Handler for the OnPagesChanged event fired by the DocumentPaginator.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="args"></param>
 private void OnPagesChanged(object sender, PagesChangedEventArgs args)
 {
     //Since handling the PagesChanged event entails a bit of work, we'll
     //have our dispatcher call the PagesChangedDelegate at Normal priority.
     Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Normal,
                                              new DispatcherOperationCallback(PagesChangedDelegate), args);
 }
 // Token: 0x06005D8A RID: 23946 RVA: 0x001A5518 File Offset: 0x001A3718
 private void HandlePagesChanged(object sender, PagesChangedEventArgs e)
 {
     if (!this._disposed && e != null && this.PageNumber >= e.Start && (e.Count == 2147483647 || this.PageNumber <= e.Start + e.Count))
     {
         this.OnPageContentChanged();
     }
 }
Esempio n. 4
0
        /// <summary>
        /// Asynchronously handles the PagesChanged event.
        /// This means that one or more pages have been invalidated so we
        /// dirty their cache entries and fire off our PagesChanged event.
        /// </summary>
        /// <param name="parameter"></param>
        /// <returns></returns>
        private object PagesChangedDelegate(object parameter)
        {
            PagesChangedEventArgs args = parameter as PagesChangedEventArgs;

            if (args == null)
            {
                throw new ArgumentOutOfRangeException("parameter");
            }

            //Validate incoming parameters
            ValidatePaginationArgs(args.Start, args.Count);

            //Start values outside the range of current pages are invalid.
            //if (args.Start >= _cache.Count)
            //{
            //    throw new ArgumentOutOfRangeException("args");
            //}

            //If the last page specified in the change is out of the range of currently-known
            //pages we make the assumption that the IDP means to invalidate all pages and so
            //we clip the count into range.
            //We also take into account integer overflow... if the sum of Start+Count is less than
            //zero then we've overflowed.
            int adjustedCount = args.Count;

            if (args.Start + args.Count >= _cache.Count ||
                args.Start + args.Count < 0)
            {
                adjustedCount = _cache.Count - args.Start;
            }

            //Create our list of changes.  We can have at most one.
            List <PageCacheChange> changes = new List <PageCacheChange>(1);

            //Now make the change if there is one to make.
            if (adjustedCount > 0)
            {
                PageCacheChange change = DirtyRange(args.Start, adjustedCount);
                if (change != null)
                {
                    changes.Add(change);
                }

                //Fire off our PageCacheChanged event.
                FirePageCacheChangedEvent(changes);
            }

            //Fire the PagesChanged event.
            if (PagesChanged != null)
            {
                PagesChanged(this, args);
            }

            return(null);
        }
Esempio n. 5
0
 /// <summary>
 /// Handles PagesChanged event raised by the DocumentPaginator.
 /// </summary>
 /// <param name="sender">Source of the event.</param>
 /// <param name="e">Details about this event.</param>
 private void HandlePagesChanged(object sender, PagesChangedEventArgs e)
 {
     if (!_disposed && (e != null))
     {
         if (this.PageNumber >= e.Start &&
             (e.Count == int.MaxValue || this.PageNumber <= e.Start + e.Count))
         {
             OnPageContentChanged();
         }
     }
 }
Esempio n. 6
0
 /// <summary>
 /// We are notified by the wrapped paginator.  In response we fire
 /// an event from this instance.
 /// </summary>
 /// <param name="sender">source of the event</param>
 /// <param name="e">args for the event</param>
 private void HandlePagesChanged(object sender, PagesChangedEventArgs e)
 {
     // Fire the event
     OnPagesChanged(e);
 }
 // Token: 0x06006FE9 RID: 28649 RVA: 0x0020281D File Offset: 0x00200A1D
 internal void NotifyPagesChanged(PagesChangedEventArgs e)
 {
     this.OnPagesChanged(e);
 }
 // Token: 0x06006299 RID: 25241 RVA: 0x001BA86D File Offset: 0x001B8A6D
 private void HandlePagesChanged(object sender, PagesChangedEventArgs e)
 {
     this.OnPagesChanged(e);
 }
 // Token: 0x0600714C RID: 29004 RVA: 0x00206A73 File Offset: 0x00204C73
 private void OnPagesChanged(object sender, PagesChangedEventArgs args)
 {
     Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Normal, new DispatcherOperationCallback(this.PagesChangedDelegate), args);
 }