kNCurses/Window.cpp

71 lines
1.5 KiB
C++

/**
* @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;
}
}