getOverlayPercent static method

double getOverlayPercent(
  1. RenderObjectElement element,
  2. Offset buttonOffset
)

Implementation

static double getOverlayPercent(
    RenderObjectElement element, Offset buttonOffset) {
  if (element.size == null) {
    return 0;
  }
  final double size = element.size!.width * element.size!.height;
  final Offset offset =
      (element.renderObject as RenderBox).localToGlobal(Offset.zero);
  final Rect rect = Rect.fromLTWH(
      offset.dx, offset.dy, element.size!.width, element.size!.height);
  final double xc1 = max(rect.left, buttonOffset.dx);
  final double yc1 = max(rect.top, buttonOffset.dy);
  final double xc2 = min(rect.right, buttonOffset.dx + diameter);
  final double yc2 = min(rect.bottom, buttonOffset.dy + diameter);
  return ((xc2 - xc1) * (yc2 - yc1)) / size;
}