createSemicircleLabel function

Widget createSemicircleLabel({
  1. required BuildContext context,
  2. required Animation<double> animation,
  3. required Set<WidgetState> widgetStates,
  4. required double offset,
  5. required int? precalculatedIndex,
  6. required double thumbLength,
  7. required double sidePadding,
  8. required Color backgroundColor,
  9. required double elevation,
  10. required Widget labelContentBuilder(
    1. double offset,
    2. int? index
    ),
  11. required ScrollbarPosition scrollbarPosition,
})

Implementation

Widget createSemicircleLabel(
    {required BuildContext context,
    required Animation<double> animation,
    required Set<WidgetState> widgetStates,
    required double offset,
    required int? precalculatedIndex,
    required double thumbLength,
    required double sidePadding,
    required Color backgroundColor,
    required double elevation,
    required Widget Function(double offset, int? index) labelContentBuilder,
    required ScrollbarPosition scrollbarPosition}) {
  return FadeTransition(
      opacity: animation,
      child: Padding(
        padding: _getSemicircleLabelPadding(sidePadding, scrollbarPosition),
        child: SizedBox(
          child: Container(
            alignment: _getSemicircleLabelAlignment(scrollbarPosition),
            child: Material(
              elevation: elevation,
              color: backgroundColor,
              borderRadius: BorderRadius.all(Radius.circular(thumbLength / 2)),
              child: labelContentBuilder(offset, precalculatedIndex),
            ),
          ),
        ),
      ));
}