anchor.diff:      }
       return _onPageChange.stream;
     }
  -  
  -  /**
  -   * Fired when the transition ends after a page change. If the user swipes 
  -   * again before the previous transition ended, this event is only fired once, 
  +
  +  /**
  +   * Fired when the transition ends after a page change. If the user swipes
  +   * again before the previous transition ended, this event is only fired once,
      * at the end of all page transitions.
  -   * 
  +   *
      * The data is the page index. To get the page, use [currentPage].
      */
     Stream<int> get onPageTransitionEnd {
  
positive.code:  * A touch and mouse slider for swiping through images and html.
   */
  class Swiper {
    
    // -------------------
    // Events
    // -------------------
    StreamController<int> _onPageChange;
    StreamController<int> _onPageTransitionEnd;
    
    /**
     * Fired when the current page changed.
     * 
     * The data is the page index. To get the page, use [currentPage].
     */
    Stream<int> get onPageChange {
  
negative.code:       animDistance = dragDelta.abs();
      }
      int adjustedSpeed = _adjustSpeed(_speed, animDistance);
  
      // Move to index (might be the same as the current index).
      moveToIndex(index, speed: adjustedSpeed);
    }
  
    /**
     * If [index] is out of bounds, the nearest valid index is returned.
     * If [index] is already valid, it is just returned again.
  