diff --git a/build/toolchain.emscripten.mak b/build/toolchain.emscripten.mak index fb81cc14b..3de4f7ea6 100644 --- a/build/toolchain.emscripten.mak +++ b/build/toolchain.emscripten.mak @@ -5,6 +5,7 @@ LD = emcc EMSCRIPTEN_ASYNC_SYMBOLS = \ SAFE_HEAP_LOAD \ SAFE_HEAP_STORE \ +_IonDisplayForceRefresh\ _IonEventsEmscriptenKeyDown \ _IonEventsEmscriptenKeyUp \ _IonEventsEmscriptenPushEvent \ @@ -121,4 +122,4 @@ EMSCRIPTEN_INIT_FILE ?= 0 LDFLAGS += --memory-init-file $(EMSCRIPTEN_INIT_FILE) SFLAGS += $(EMFLAGS) -LDFLAGS += $(EMFLAGS) -Oz -s EXPORTED_FUNCTIONS='["_main", "_IonSimulatorKeyboardKeyDown", "_IonSimulatorKeyboardKeyUp", "_IonSimulatorEventsPushEvent", "_IonSoftwareVersion", "_IonPatchLevel"]' -s EXTRA_EXPORTED_RUNTIME_METHODS='["UTF8ToString"]' +LDFLAGS += $(EMFLAGS) -Oz -s EXPORTED_FUNCTIONS='["_main", "_IonSimulatorKeyboardKeyDown", "_IonSimulatorKeyboardKeyUp", "_IonSimulatorEventsPushEvent", "_IonSoftwareVersion", "_IonPatchLevel", "_IonDisplayForceRefresh"]' -s EXTRA_EXPORTED_RUNTIME_METHODS='["UTF8ToString"]' diff --git a/ion/src/simulator/web/helpers.cpp b/ion/src/simulator/web/helpers.cpp index 35c7ce2fc..b3ced2b17 100644 --- a/ion/src/simulator/web/helpers.cpp +++ b/ion/src/simulator/web/helpers.cpp @@ -1,4 +1,5 @@ #include +#include "../shared/main.h" extern "C" const char * IonSoftwareVersion() { return Ion::softwareVersion(); @@ -7,3 +8,8 @@ extern "C" const char * IonSoftwareVersion() { extern "C" const char * IonPatchLevel() { return Ion::patchLevel(); } + +extern "C" void IonDisplayForceRefresh() { + Ion::Simulator::Main::setNeedsRefresh(); + Ion::Simulator::Main::refresh(); +} diff --git a/ion/src/simulator/web/simulator.html b/ion/src/simulator/web/simulator.html index d96722176..a51f745cd 100644 --- a/ion/src/simulator/web/simulator.html +++ b/ion/src/simulator/web/simulator.html @@ -261,6 +261,9 @@ Epsilon(Module);