Привет хабр, учу C++, пытаюсь создать подобие консольного интерфейса.
Идея такая: есть канвас - матрица пробелов, ибо пробелы у меня вместо пикселей. На канвас я хочу поместить панели - области окна, в которые я буду выводить информацию. Рамка панели будет рисоваться символами ASCII 185 - 205.
Например:
Создание экземпляра класса Canvas, то есть создаём матрицу пробелов WIDTH x HEIGHTCanvas canvas(WIDTH, HEIGHT);
Создание панели из верхнего левого угла на пол экрана:canvas.addPanel(0, 0, WIDTH/2, HEIGHT, 1); // Последняя цифра это id, что бы как то различать панели
Создание панели во второй половине экрана:canvas.addPanel(WIDTH/2+1, 0, WIDTH, HEIGHT, 2);
ВАЖНО: это ещё не реализовано, а лишь идея. Работает только в тетрадке. Все методы и классы - больная фантазия автора.
Пример результата:
Собственно вопрос: Как хранятся эти панели? Как связный список? В одной статье на Хабре было написано, что это стек, но как мне получать доступ к другим панелям, когда стек мне даёт только верхнюю? Или я неправильно понимаю как работает стек?
Какую литературу читать о проектировании интерфейса?
Учусь всего несколько месяцев, не пинайтесь особо.