quarterPart method

Widget quarterPart()

Implementation

Widget quarterPart() {
  final quantity = widget.items.length;
  return SizedBox(
    width: 60 + widget.radius,
    height: 60 + widget.radius,
    child: Stack(
      children: List.generate(
        quantity,
        (index) {
          final angulo = (90) / (quantity - 1) * index;

          return CircleButton(
            finalRight: _getOffset(
                  angulo + getRotatePosition(widget.position),
                  -widget.radius,
                ).dy +
                widget.radius,
            finalTop: _getOffset(
                  angulo + getRotatePosition(widget.position),
                  -widget.radius,
                ).dx +
                widget.radius,
            initState: widget.radius,
            bloc: _bloc,
            widget: widget.items[index],
            duration: widget.duration,
            curve: widget.curve,
            opacity: widget.opacity,
          );
        },
      )..add(
          Positioned(
            top: widget.radius,
            left: widget.radius,
            child: widget.child != null
                ? Material(
                    child: InkWell(
                      onTap: _bloc.toggle,
                      child: widget.child,
                    ),
                  )
                : FloatingActionButton(
                    heroTag: UniqueKey(),
                    backgroundColor: widget.buttonColor,
                    onPressed: _bloc.toggle,
                    child: Icon(widget.buttonIcon),
                  ),
          ),
        ),
    ),
  );
}