buildChild method

Widget buildChild(
  1. BuildContext context
)

Implementation

Widget buildChild(BuildContext context) {
  return GestureDetector(
      onPanUpdate: (d) {
        final newR = MathUtil.getRadians(
            center: center,
            point: d.localPosition
        );
        final oldR = MathUtil.getRadians(
            center: center,
            point: Offset(
                d.localPosition.dx - d.delta.dx,
                d.localPosition.dy - d.delta.dy
            )
        );
        increaseAngleOffset(newR - oldR);
      },
      onTap: () {
        if (widget.hideOverlay != null) {
          widget.animationController.reverse();
          widget.hideOverlay!();
        }
      },
      behavior: HitTestBehavior.translucent,
      child: ValueListenableBuilder(
          valueListenable: angleOffsetNotifier,
          builder: (context, value, child) {
            return Transform.rotate(
                angle: angleOffsetNotifier.value,
                child: Container(
                    width: outerRadius * 2 + widget.padding,
                    height: outerRadius * 2 + widget.padding,
                    color: widget.debugMode ? Colors.grey : null,
                    child: RepaintBoundary(
                        child: Flow(
                            delegate: FanFlowDelegation(
                                center: center,
                                animation: animation
                            ),
                            children: [
                              ...fanSliceList.map(
                                      (e) => FanSliceWidget(
                                    fanAnimationConfig: widget.animationConfig,
                                        callback: callback,
                                        pieceBorderSize: widget.pieceBorderSize,
                                        fanSlice: e,
                                    controller: widget.animationController,
                                  )
                              )
                            ]
                        )
                    )
                )
            );
          }
      )
  );
}