/** * @author Christian Burger (christian@krikkel.de) */ #include "kNCurses/Window.hpp" #include "kNCurses/VerticalTilingWindowManager.hpp" namespace krikkel::NCurses { Window::Window() : NCursesWindow(0, 0, 0, 0) {} Window::Window(TilingWindowManager *windowManager) : NCursesWindow(0, 0, 0, 0) { windowManager->addWindow(this); windowManager->updateLayout(); } Window::Window(const NCursesWindow &window) : NCursesWindow(window) {} Window::Window(int lines, int columns, int y, int x) : NCursesWindow(lines, columns, y, x) {} int Window::addnwstr(const wchar_t *wstr, int n) { return ::waddnwstr(w, wstr, n); } int Window::add_wch(const cchar_t *character) { return ::wadd_wch(w, character); } int Window::ins_wch(const cchar_t *character) { return ::wins_wch(w, character); } int Window::get_wch(wint_t *character) { return ::wget_wch(w, character); } bool Window::isHidden() { return hidden; } SingleUserInput Window::readSingleUserInput() { wint_t input; int result = get_wch(&input); return SingleUserInput(result, input); } int Window::resize(int rows, int cols) { return NCursesWindow::wresize(rows, cols); } int Window::refresh() { if(!hidden) return NCursesWindow::refresh(); return 0; } }