Я создаю 3 окна в верхней части стандартного экрана со столбцами ширины экрана и высотой одной строки с:
WINDOW* pWindow = newwin(0, COLS - 1, windowNr, 0); // windowNr 0 - 2
, которые обычно отображаются как последовательные окна:
----------------------------0 Window----------------------------
----------------------------1 Window----------------------------
----------------------------2 Window----------------------------
Моя проблема под последним созданным окном. Я хочу пэд, который я создаю:
WINDOW* pPad = newpad(LINES - 3, COLS - 1); // 3 because of the three pWindows
Но pad
отображается поверх всех pWindows
:
----------------------------0 Pad----------------------------
----------------------------0 Pad----------------------------
----------------------------0 Pad----------------------------
Как я могурасположите площадку под последним окном, для которого выводится:
----------------------------0 Window----------------------------
----------------------------1 Window----------------------------
----------------------------2 Window----------------------------
------------------------------0 Pad-----------------------------
------------------------------0 Pad-----------------------------
------------------------------0 Pad-----------------------------
К сожалению, newpad
не имеет (y, x) координат, как newwin
.Чтобы просто заполнить панель отладочным содержимым, я делаю:
werase(pPad); // Clear window, https://invisible-island.net/ncurses/man/curs_clear.3x.html
wmove(pPad, 0, 0); // Moves cursor in pad to y,x
for(int c = 0; c < 40; c++){
string s = to_string(c) + ".\n";
wprintw(pPad, s.c_str());
}
prefresh(pPad, 0, 0, 0, 0, maxRows, maxCols);
Я также помещаю различные значения в prefresh
, его прокрутка в окне просмотра или, скорее, обновление прекрасно работает, как описано в документации.