From 524bc3960e6a6e5645ce904e20f72479e24e0a23 Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Mon, 11 Jun 2018 05:10:19 +0600 Subject: improved Emscripten support: fixed configure-checks, generate *.js and detect EMCurses * Emscripten can be used (theoretically) to build a host-only platform-independant version of SciTECO (running under node.js instead of the browser). * I ported netbsd-curses with Emscripten for that purpose. Therefore, adaptions for running in the browser are restricted to EMcurses now. --- src/interface-curses/interface-curses.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/interface-curses') diff --git a/src/interface-curses/interface-curses.cpp b/src/interface-curses/interface-curses.cpp index 96ce0d4..a06fe30 100644 --- a/src/interface-curses/interface-curses.cpp +++ b/src/interface-curses/interface-curses.cpp @@ -89,6 +89,15 @@ #define A_UNDERLINE 0 #endif +/** + * Whether we're on EMCurses. + * Could be replaced with a configure-time check for + * PDC_emscripten_set_handler(). + */ +#if defined(__PDCURSES__) && defined(EMSCRIPTEN) +#define EMCURSES +#endif + #ifdef NCURSES_VERSION #if defined(G_OS_UNIX) || defined(G_OS_HAIKU) /** @@ -630,7 +639,7 @@ InterfaceCurses::init_interactive(void) cmdline_window = newwin(0, 0, LINES - 1, 0); keypad(cmdline_window, TRUE); -#ifdef EMSCRIPTEN +#ifdef EMCURSES nodelay(cmdline_window, TRUE); #endif @@ -1533,7 +1542,7 @@ InterfaceCurses::event_loop_impl(void) wnoutrefresh(cmdline_window); doupdate(); -#ifdef EMSCRIPTEN +#ifdef EMCURSES PDC_emscripten_set_handler(event_loop_iter, TRUE); /* * We must not block emscripten's main loop, -- cgit v1.2.3