Browse Source

Merge pull request #112 from FireMartZ/v1.0.13-rc

Fix console rewind on win32 by using native api.
z_importviewingkey_bug
FireMartZ 6 years ago
committed by GitHub
parent
commit
a0d4aef94a
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 18
      src/metrics.cpp

18
src/metrics.cpp

@ -430,7 +430,9 @@ void ThreadShowMetricsScreen()
if (isScreen) {
// Clear screen
#ifndef WIN32
std::cout << "\e[2J";
#endif
// Thank you text
std::cout << _("Thank you for running a HUSH node!") << std::endl;
@ -465,7 +467,16 @@ void ThreadShowMetricsScreen()
if (isScreen) {
// Erase below current position
#ifndef WIN32
std::cout << "\e[J";
#else
DWORD count;
CONSOLE_SCREEN_BUFFER_INFO csbi;
GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi);
COORD homeCoords = { 0, csbi.dwCursorPosition.Y };
FillConsoleOutputCharacter(GetStdHandle(STD_OUTPUT_HANDLE), (TCHAR) ' ', csbi.dwSize.X * (csbi.dwSize.Y-csbi.dwCursorPosition.Y), homeCoords, &count);
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), homeCoords);
#endif
}
// Miner status
@ -499,7 +510,14 @@ void ThreadShowMetricsScreen()
if (isScreen) {
// Return to the top of the updating section
#ifndef WIN32
std::cout << "\e[" << lines << "A";
#else
CONSOLE_SCREEN_BUFFER_INFO csbi;
GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi);
COORD homeCoords = { 0, csbi.dwCursorPosition.Y - lines };
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), homeCoords);
#endif
}
}
}

Loading…
Cancel
Save