StretchDIBits function Null safety gdi32

int StretchDIBits (
  1. int hdc,
  2. int xDest,
  3. int yDest,
  4. int DestWidth,
  5. int DestHeight,
  6. int xSrc,
  7. int ySrc,
  8. int SrcWidth,
  9. int SrcHeight,
  10. Pointer<NativeType> lpBits,
  11. Pointer<BITMAPINFO> lpbmi,
  12. int iUsage,
  13. int rop
)

The StretchDIBits function copies the color data for a rectangle of pixels in a DIB, JPEG, or PNG image to the specified destination rectangle. If the destination rectangle is larger than the source rectangle, this function stretches the rows and columns of color data to fit the destination rectangle. If the destination rectangle is smaller than the source rectangle, this function compresses the rows and columns by using the specified raster operation.

int StretchDIBits(
  HDC              hdc,
  int              xDest,
  int              yDest,
  int              DestWidth,
  int              DestHeight,
  int              xSrc,
  int              ySrc,
  int              SrcWidth,
  int              SrcHeight,
  const VOID       *lpBits,
  const BITMAPINFO *lpbmi,
  UINT             iUsage,
  DWORD            rop
);

Implementation

int StretchDIBits(
    int hdc,
    int xDest,
    int yDest,
    int DestWidth,
    int DestHeight,
    int xSrc,
    int ySrc,
    int SrcWidth,
    int SrcHeight,
    Pointer lpBits,
    Pointer<BITMAPINFO> lpbmi,
    int iUsage,
    int rop) {
  final _StretchDIBits = _gdi32.lookupFunction<
      Int32 Function(
          IntPtr hdc,
          Int32 xDest,
          Int32 yDest,
          Int32 DestWidth,
          Int32 DestHeight,
          Int32 xSrc,
          Int32 ySrc,
          Int32 SrcWidth,
          Int32 SrcHeight,
          Pointer lpBits,
          Pointer<BITMAPINFO> lpbmi,
          Uint32 iUsage,
          Uint32 rop),
      int Function(
          int hdc,
          int xDest,
          int yDest,
          int DestWidth,
          int DestHeight,
          int xSrc,
          int ySrc,
          int SrcWidth,
          int SrcHeight,
          Pointer lpBits,
          Pointer<BITMAPINFO> lpbmi,
          int iUsage,
          int rop)>('StretchDIBits');
  return _StretchDIBits(hdc, xDest, yDest, DestWidth, DestHeight, xSrc, ySrc,
      SrcWidth, SrcHeight, lpBits, lpbmi, iUsage, rop);
}