getCursorScreenRect method

ScreenRect? getCursorScreenRect(
  1. TextEditingController controller,
  2. ScreenRect windowBounds
)

Get the cursor rect in screen coordinates.

windowBounds - The palette window's bounds from PaletteSelf.screenRect.

Returns a ScreenRect for platform-aware positioning.

Implementation

ScreenRect? getCursorScreenRect(
  TextEditingController controller,
  ScreenRect windowBounds,
) {
  final viewRect = getCursorRectInView(controller);
  if (viewRect == null) return null;

  // Convert view coordinates to screen coordinates
  final screenTopLeft = windowBounds.localToScreen(
    Offset(viewRect.left, viewRect.top),
  );

  return ScreenRect(
    Rect.fromLTWH(
      screenTopLeft.dx,
      windowBounds.isMacOS
          ? screenTopLeft.dy - viewRect.height
          : screenTopLeft.dy,
      viewRect.width,
      viewRect.height,
    ),
    isMacOS: windowBounds.isMacOS,
  );
}