Widget _buildItem(BuildContext context, int index)
        {
            return(new AnimatedBuilder(
                       animation: this._pageController,
                       builder: (BuildContext c, Widget w) => {
                int renderIndex = this._pageController.getRenderIndexFromRealIndex(index);
                Widget child = null;
                if (this.widget.itemBuilder != null)
                {
                    child = this.widget.itemBuilder(context, renderIndex);
                }

                if (child == null)
                {
                    child = new Container();
                }

                if (this._size == null)
                {
                    return child ?? new Container();
                }

                float position;

                float page = this._pageController.realPage;

                if (this._transformer.reverse)
                {
                    position = page - index;
                }
                else
                {
                    position = index - page;
                }

                position *= this.widget.viewportFraction;

                TransformInfo info = new TransformInfo(
                    index: renderIndex,
                    width: this._size.width,
                    height: this._size.height,
                    position: position.clamp(-1.0f, 1.0f),
                    activeIndex: this._pageController.getRenderIndexFromRealIndex(this._activeIndex),
                    fromIndex: this._fromIndex,
                    forward: this._pageController.position.pixels - this._currentPixels >= 0,
                    done: this._done,
                    scrollDirection: this.widget.scrollDirection,
                    viewportFraction: this.widget.viewportFraction);
                return this._transformer.transform(child, info);
            }));
        }
 public override Widget transform(Widget child, TransformInfo info)
 {
     return(this.builder(child: child, info: info));
 }
 public abstract Widget transform(Widget child, TransformInfo info);