kNCurses/include/NCurses/Window.hpp

57 lines
1.4 KiB
C++

/**
* @brief Providing wide character methods missing in NCursesWindow.
* @author Christian Burger (christian@krikkel.de)
*/
#ifndef A2C3FDB7_7A85_4527_BC85_366E14149EB8
#define A2C3FDB7_7A85_4527_BC85_366E14149EB8
#include "SingleUserInput.hpp"
#include <ncursesw/cursesw.h>
#ifdef addnwstr
inline int UNDEF(addnwstr)(const wchar_t *wstr, int n) { addnwstr(wstr, n); }
#undef addnwstr
#define addnwstr UNDEF(addnwstr)
#endif
#ifdef add_wch
inline int UNDEF(add_wch)(const cchar_t *character) { add_wch(character); }
#undef add_wch
#define add_wch UNDEF(add_wch)
#endif
#ifdef ins_wch
inline int UNDEF(ins_wch)(cchar_t *character) { ins_wch(character); }
#undef ins_wch
#define ins_wch UNDEF(ins_wch)
#endif
#ifdef get_wch
inline int UNDEF(get_wch)(wint_t *character) { get_wch(character); }
#undef get_wch
#define get_wch UNDEF(get_wch)
#endif
namespace krikkel::NCurses
{
class VerticalTilingWindowManager;
class Window : public NCursesWindow
{
public:
Window(VerticalTilingWindowManager *windowManager);
Window(int lines, int columns, int y, int x);
int addnwstr(const wchar_t *wstr, int n);
int add_wch(const cchar_t *character);
int ins_wch(const cchar_t *character);
int get_wch(wint_t *character);
SingleUserInput readSingleUserInput();
virtual int resize(int rows, int cols);
};
}
#endif /* A2C3FDB7_7A85_4527_BC85_366E14149EB8 */