clearScreen method

void clearScreen()

Implementation

void clearScreen() {
  final pBufferInfo = calloc<CONSOLE_SCREEN_BUFFER_INFO>();
  final pCharsWritten = calloc<Uint32>();
  final origin = calloc<COORD>();
  try {
    final bufferInfo = pBufferInfo.ref;
    GetConsoleScreenBufferInfo(outputHandle, pBufferInfo);

    final consoleSize = bufferInfo.dwSize.X * bufferInfo.dwSize.Y;

    FillConsoleOutputCharacter(outputHandle, ' '.codeUnitAt(0), consoleSize,
        origin.ref, pCharsWritten);

    GetConsoleScreenBufferInfo(outputHandle, pBufferInfo);

    FillConsoleOutputAttribute(outputHandle, bufferInfo.wAttributes,
        consoleSize, origin.ref, pCharsWritten);

    SetConsoleCursorPosition(outputHandle, origin.ref);
  } finally {
    calloc.free(origin);
    calloc.free(pCharsWritten);
    calloc.free(pBufferInfo);
  }
}