53 lines
1.3 KiB
C++
53 lines
1.3 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 Window : public NCursesWindow
|
|
{
|
|
public:
|
|
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();
|
|
};
|
|
}
|
|
|
|
#endif /* A2C3FDB7_7A85_4527_BC85_366E14149EB8 */
|