emscripten.monkey2 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. Namespace emscripten
  2. #If __TARGET__="emscripten"
  3. #Import "<libc>"
  4. #Import "<sdl2>"
  5. #Import "<emscripten.h>"
  6. #Import "<emscripten/fetch.h>"
  7. Extern
  8. Alias em_callback_func:Void()
  9. Alias em_arg_callback_func:Void(Void Ptr)
  10. Alias em_str_callback_func:Void(String)
  11. Function emscripten_run_script:Void( script:CString )
  12. Function emscripten_run_script_int:Int( script:CString )
  13. Function emscripten_run_script_string:CString( script:CString )
  14. Function emscripten_async_run_script:Void( script:CString,millis:Int )
  15. Function emscripten_async_load_script:Void( script:CString,onload:em_callback_func,onerror:em_callback_func )
  16. Function emscripten_set_main_loop:Void( func:em_callback_func,fps:Int,simulate_infinite_loop:Int )
  17. Function emscripten_set_main_loop_arg:Void( func:em_callback_func,arg:Void Ptr,fps:Int,simulate_infinite_loop:Int )
  18. Function emscripten_push_main_loop_blocker:Void( func:em_arg_callback_func,arg:Void Ptr )
  19. Function emscripten_push_uncounted_main_loop_blocker:Void( func:em_arg_callback_func,arg:Void Ptr )
  20. Function emscripten_cancel_main_loop:Void()
  21. Function emscripten_set_main_loop_timing:Void( mode:Int,value:Int )
  22. Function emscripten_get_main_loop_timing:Void( mode:Int Ptr,value:Int Ptr )
  23. Function emscripten_set_main_loop_expected_blockers:Void( num:Int )
  24. Function emscripten_async_call:Void( func:em_arg_callback_func,arg:Byte Ptr,millis:Int )
  25. Function emscripten_force_exit:Void( status:Int )
  26. Function emscripten_get_device_pixel_ratio:Double()
  27. Function emscripten_set_canvas_size:Void( width:Int,height:Int )
  28. Function emscripten_get_canvas_size:Void( width:Int Ptr,height:Int Ptr,fullScreen:Int Ptr )
  29. Function emscripten_get_now:Double()
  30. Struct emscripten_fetch_t
  31. Field id:UInt
  32. Field userData:Void Ptr
  33. Field url:CString
  34. Field data:libc.char_t Ptr
  35. Field numBytes:ULong
  36. Field dataOffset:ULong
  37. Field totalBytes:ULong
  38. Field readyState:UShort
  39. Field status:Short
  40. End
  41. Const EMSCRIPTEN_FETCH_LOAD_TO_MEMORY:UInt
  42. Const EMSCRIPTEN_FETCH_STREAM_DATA:UInt
  43. Const EMSCRIPTEN_FETCH_PERSIST_FILE:UInt
  44. Const EMSCRIPTEN_FETCH_APPEND:UInt
  45. Const EMSCRIPTEN_FETCH_REPLACE:UInt
  46. Const EMSCRIPTEN_FETCH_NO_DOWNLOAD:UInt
  47. Const EMSCRIPTEN_FETCH_SYNCHRONOUS:UInt
  48. Const EMSCRIPTEN_FETCH_WAITABLE:UInt
  49. Struct emscripten_fetch_attr_t
  50. Field requestMethod:libc.char_t Ptr
  51. Field userData:Void Ptr
  52. Field onsuccess:Void( fetch:emscripten_fetch_t ptr )
  53. Field onerror:Void( fetch:emscripten_fetch_t ptr )
  54. Field onprogress:Void( fetch:emscripten_fetch_t Ptr )
  55. Field attributes:UInt
  56. Field timeoutMSecs:UInt
  57. Field withCredentials:Bool
  58. Field destinationPath:CString
  59. Field userName:CString
  60. Field password:CString
  61. Field requestHeaders:CString Ptr
  62. Field overridenMimeType:CString
  63. Field requestData:CString
  64. Field requestDataSize:UInt
  65. End
  66. Function emscripten_fetch_attr_init( attr:emscripten_fetch_attr_t Ptr )
  67. Function emscripten_fetch:emscripten_fetch_t Ptr( attr:emscripten_fetch_attr_t Ptr,url:CString )
  68. Function emscripten_fetch_close( fetch:emscripten_fetch_t Ptr )
  69. #Endif