renderTooltip method

void renderTooltip(
  1. BuildContext context,
  2. String type, {
  3. Map<String, dynamic>? params,
})

Implementation

void renderTooltip(BuildContext context, String type, {Map<String, dynamic>? params}){
  bool isSameType = match(type, _overlayingType);
  if(isSameType && _overlayAdded) return; //Already showing overlay
  // if(_overlayEntry?.mounted == true){
    try {
      _overlayEntry?.remove();
    }catch(e){}
  // }

  final overlayChild = getTooltipOverlay(context, params: params);
  _overlayingType = type;
  _overlayAdded = true;
  _overlayEntry = OverlayEntry(builder: (context){
    return overlayChild;
  });

  _overlayAdded = true;
  NUIAsync.delay(Duration(milliseconds: 10), () {
    if(_overlayEntry?.mounted == true) return;
    try {
      Overlay.of(context).insert(_overlayEntry!);
    }catch(e){}
  });
}