int32_t run(int _argc, char** _argv) { emscripten_set_mousedown_callback("#canvas", this, true, mouseCb); emscripten_set_mouseup_callback("#canvas", this, true, mouseCb); emscripten_set_mousemove_callback("#canvas", this, true, mouseCb); emscripten_set_wheel_callback("#canvas", this, true, wheelCb); emscripten_set_keypress_callback(NULL, this, true, keyCb); emscripten_set_keydown_callback(NULL, this, true, keyCb); emscripten_set_keyup_callback(NULL, this, true, keyCb); emscripten_set_resize_callback(0, this, true, resizeCb); EmscriptenFullscreenStrategy fullscreenStrategy = {}; fullscreenStrategy.scaleMode = EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT; fullscreenStrategy.canvasResolutionScaleMode = EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE; fullscreenStrategy.filteringMode = EMSCRIPTEN_FULLSCREEN_FILTERING_DEFAULT; fullscreenStrategy.canvasResizedCallback = canvasResizeCb; fullscreenStrategy.canvasResizedCallbackUserData = this; emscripten_request_fullscreen_strategy("#canvas", false, &fullscreenStrategy); emscripten_set_focus_callback(NULL, this, true, focusCb); emscripten_set_focusin_callback(NULL, this, true, focusCb); emscripten_set_focusout_callback(NULL, this, true, focusCb); int32_t result = main(_argc, _argv); return result; }
EM_BOOL request_fullscreen_callback(int eventType, const EmscriptenMouseEvent* evt, void* user) { #if __EMSCRIPTEN_major__ >= 1 && __EMSCRIPTEN_minor__ >= 29 && __EMSCRIPTEN_tiny__ >= 0 EmscriptenFullscreenStrategy FSStrat; FMemory::Memzero(FSStrat); FSStrat.scaleMode = EMSCRIPTEN_FULLSCREEN_SCALE_STRETCH;//EMSCRIPTEN_FULLSCREEN_SCALE_ASPECT;// : EMSCRIPTEN_FULLSCREEN_SCALE_STRETCH; FSStrat.canvasResolutionScaleMode = EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_HIDEF; FSStrat.filteringMode = EMSCRIPTEN_FULLSCREEN_FILTERING_DEFAULT; emscripten_request_fullscreen_strategy("canvas", true, &FSStrat); #else emscripten_request_fullscreen("canvas", true); #endif return 0; }