semi method

Widget semi()

Implementation

Widget semi() {
  final quantity = widget.items.length;

  return Stack(
    children: List.generate(
      quantity,
      (index) {
        final angulo = (180) / (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,
          curve: widget.curve,
          duration: widget.duration,
          opacity: widget.opacity,
          widget: widget.items[index],
        );
      },
    )..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),
                ),
        ),
      ),
  );
}