Exemplo n.º 1
0
void mp_hal_erase_line_from_cursor(uint n_chars_to_erase) {
    assure_conout_handle();
    CONSOLE_SCREEN_BUFFER_INFO info;
    GetConsoleScreenBufferInfo(con_out, &info);
    DWORD written;
    FillConsoleOutputCharacter(con_out, ' ', n_chars_to_erase, info.dwCursorPosition, &written);
    FillConsoleOutputAttribute(con_out, info.wAttributes, n_chars_to_erase, info.dwCursorPosition, &written);
}
Exemplo n.º 2
0
void mp_hal_erase_line_from_cursor() {
    assure_conout_handle();
    CONSOLE_SCREEN_BUFFER_INFO info;
    GetConsoleScreenBufferInfo(con_out, &info);
    const short len = info.dwSize.X - info.dwCursorPosition.X;
    DWORD written;
    FillConsoleOutputCharacter(con_out, ' ', len, info.dwCursorPosition, &written);
    FillConsoleOutputAttribute(con_out, info.wAttributes, len, info.dwCursorPosition, &written);
}
Exemplo n.º 3
0
void mp_hal_move_cursor_back(uint pos) {
    assure_conout_handle();
    CONSOLE_SCREEN_BUFFER_INFO info;
    GetConsoleScreenBufferInfo(con_out, &info);
    info.dwCursorPosition.X -= (short)pos;
    if (info.dwCursorPosition.X < 0) {
        info.dwCursorPosition.X = 0;
    }
    SetConsoleCursorPosition(con_out, info.dwCursorPosition);
}