ScrollConsoleScreenBuffer function kernel32

Win32Result<bool> ScrollConsoleScreenBuffer(
  1. HANDLE hConsoleOutput,
  2. Pointer<SMALL_RECT> lpScrollRectangle,
  3. Pointer<SMALL_RECT>? lpClipRectangle,
  4. COORD dwDestinationOrigin,
  5. Pointer<CHAR_INFO> lpFill,
)

Moves a block of data in a screen buffer.

To learn more, see learn.microsoft.com/windows/console/scrollconsolescreenbuffer.

Implementation

Win32Result<bool> ScrollConsoleScreenBuffer(
  HANDLE hConsoleOutput,
  Pointer<SMALL_RECT> lpScrollRectangle,
  Pointer<SMALL_RECT>? lpClipRectangle,
  COORD dwDestinationOrigin,
  Pointer<CHAR_INFO> lpFill,
) {
  resolveGetLastError();
  final result_ = _ScrollConsoleScreenBuffer(
    hConsoleOutput,
    lpScrollRectangle,
    lpClipRectangle ?? nullptr,
    dwDestinationOrigin,
    lpFill,
  );
  return .new(value: result_ != FALSE, error: GetLastError());
}