constrainFrameRect method

NSRect constrainFrameRect(
  1. NSRect frameRect, {
  2. NSScreen? toScreen,
})

constrainFrameRect:toScreen:

Implementation

NSRect constrainFrameRect(NSRect frameRect, {NSScreen? toScreen}) {
  objc.checkOsVersionInternal(
    'NSWindow.constrainFrameRect:toScreen:',
    iOS: (true, null),
  );
  final _ptr = pkg_ffi.calloc<NSRect>();
  objc.useMsgSendVariants
      ? _objc_msgSend_2olghrStret(
          _ptr,
          this.ref.pointer,
          _sel_constrainFrameRect_toScreen_,
          frameRect,
          toScreen?.ref.pointer ?? ffi.nullptr,
        )
      : _ptr.ref = _objc_msgSend_2olghr(
          this.ref.pointer,
          _sel_constrainFrameRect_toScreen_,
          frameRect,
          toScreen?.ref.pointer ?? ffi.nullptr,
        );
  final _finalizable = _ptr.cast<ffi.Uint8>().asTypedList(
    ffi.sizeOf<NSRect>(),
    finalizer: pkg_ffi.calloc.nativeFree,
  );
  return ffi.Struct.create<NSRect>(_finalizable);
}