aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/interface-curses
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2018-06-11 05:10:19 +0600
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2018-06-11 05:10:19 +0600
commit524bc3960e6a6e5645ce904e20f72479e24e0a23 (patch)
tree4147b687b1de89d41a2bd2a5fd02620a64e75a77 /src/interface-curses
parentdf6c898e8e56886488951bc51967089003768b12 (diff)
downloadsciteco-524bc3960e6a6e5645ce904e20f72479e24e0a23.tar.gz
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.
Diffstat (limited to 'src/interface-curses')
-rw-r--r--src/interface-curses/interface-curses.cpp13
1 files changed, 11 insertions, 2 deletions
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,