pointValue method

void pointValue(
  1. double dx
)

Implementation

void pointValue(double dx) {
  if (!widget.isSelectable) {
    return;
  }
  if (dx >=
      widget.size * widget.count + widget.padding * (widget.count - 1)) {
    value = widget.maxRating;
  } else {
    for (double i = 1; i < widget.count + 1; i++) {
      if (dx > widget.size * i + widget.padding * (i - 1) &&
          dx < widget.size * i + widget.padding * i) {
        value = i * (widget.maxRating / widget.count);
        break;
      } else if (dx > widget.size * (i - 1) + widget.padding * (i - 1) &&
          dx < widget.size * i + widget.padding * i) {
        value = (dx - widget.padding * (i - 1)) /
            (widget.size * widget.count) *
            widget.maxRating;
        break;
      }
    }
  }
  setState(() {
    widget.onRatingUpdate(value!.toStringAsFixed(1));
  });
}