@epicgames-ps/lib-pixelstreamingfrontend-ue5.5 0.1.4 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (357) hide show
  1. package/.eslintrc.js +1 -1
  2. package/.prettierrc.json +1 -0
  3. package/dist/commonjs/AFK/AFKController.js +110 -0
  4. package/dist/commonjs/AFK/AFKController.js.map +1 -0
  5. package/dist/commonjs/Config/Config.js +560 -0
  6. package/dist/commonjs/Config/Config.js.map +1 -0
  7. package/dist/commonjs/Config/SettingBase.js +99 -0
  8. package/dist/commonjs/Config/SettingBase.js.map +1 -0
  9. package/dist/commonjs/Config/SettingFlag.js +50 -0
  10. package/dist/commonjs/Config/SettingFlag.js.map +1 -0
  11. package/dist/commonjs/Config/SettingNumber.js +84 -0
  12. package/dist/commonjs/Config/SettingNumber.js.map +1 -0
  13. package/dist/commonjs/Config/SettingOption.js +85 -0
  14. package/dist/commonjs/Config/SettingOption.js.map +1 -0
  15. package/dist/commonjs/Config/SettingText.js +43 -0
  16. package/dist/commonjs/Config/SettingText.js.map +1 -0
  17. package/dist/commonjs/DataChannel/DataChannelController.js +107 -0
  18. package/dist/commonjs/DataChannel/DataChannelController.js.map +1 -0
  19. package/dist/commonjs/DataChannel/DataChannelLatencyTestController.js +95 -0
  20. package/dist/commonjs/DataChannel/DataChannelLatencyTestController.js.map +1 -0
  21. package/dist/commonjs/DataChannel/DataChannelLatencyTestResults.js +19 -0
  22. package/dist/commonjs/DataChannel/DataChannelLatencyTestResults.js.map +1 -0
  23. package/dist/commonjs/DataChannel/DataChannelSender.js +44 -0
  24. package/dist/commonjs/DataChannel/DataChannelSender.js.map +1 -0
  25. package/dist/commonjs/DataChannel/InitialSettings.js +42 -0
  26. package/dist/commonjs/DataChannel/InitialSettings.js.map +1 -0
  27. package/dist/commonjs/DataChannel/LatencyTestResults.js +61 -0
  28. package/dist/commonjs/DataChannel/LatencyTestResults.js.map +1 -0
  29. package/dist/commonjs/FreezeFrame/FreezeFrame.js +94 -0
  30. package/dist/commonjs/FreezeFrame/FreezeFrame.js.map +1 -0
  31. package/dist/commonjs/FreezeFrame/FreezeFrameController.js +96 -0
  32. package/dist/commonjs/FreezeFrame/FreezeFrameController.js.map +1 -0
  33. package/dist/commonjs/Inputs/GamepadController.js +189 -0
  34. package/dist/commonjs/Inputs/GamepadController.js.map +1 -0
  35. package/dist/commonjs/Inputs/GamepadTypes.js +22 -0
  36. package/dist/commonjs/Inputs/GamepadTypes.js.map +1 -0
  37. package/dist/commonjs/Inputs/IInputController.js +3 -0
  38. package/dist/commonjs/Inputs/IInputController.js.map +1 -0
  39. package/dist/commonjs/Inputs/InputClassesFactory.js +97 -0
  40. package/dist/commonjs/Inputs/InputClassesFactory.js.map +1 -0
  41. package/dist/commonjs/Inputs/KeyCodes.js +113 -0
  42. package/dist/commonjs/Inputs/KeyCodes.js.map +1 -0
  43. package/dist/commonjs/Inputs/KeyboardController.js +138 -0
  44. package/dist/commonjs/Inputs/KeyboardController.js.map +1 -0
  45. package/dist/commonjs/Inputs/MouseButtons.js +29 -0
  46. package/dist/commonjs/Inputs/MouseButtons.js.map +1 -0
  47. package/dist/commonjs/Inputs/MouseController.js +98 -0
  48. package/dist/commonjs/Inputs/MouseController.js.map +1 -0
  49. package/dist/commonjs/Inputs/MouseControllerHovering.js +94 -0
  50. package/dist/commonjs/Inputs/MouseControllerHovering.js.map +1 -0
  51. package/dist/commonjs/Inputs/MouseControllerLocked.js +154 -0
  52. package/dist/commonjs/Inputs/MouseControllerLocked.js.map +1 -0
  53. package/dist/commonjs/Inputs/SpecialKeyCodes.js +20 -0
  54. package/dist/commonjs/Inputs/SpecialKeyCodes.js.map +1 -0
  55. package/dist/commonjs/Inputs/TouchController.js +124 -0
  56. package/dist/commonjs/Inputs/TouchController.js.map +1 -0
  57. package/dist/commonjs/Inputs/TouchControllerFake.js +92 -0
  58. package/dist/commonjs/Inputs/TouchControllerFake.js.map +1 -0
  59. package/dist/commonjs/Inputs/XRGamepadController.js +125 -0
  60. package/dist/commonjs/Inputs/XRGamepadController.js.map +1 -0
  61. package/dist/commonjs/PeerConnectionController/AggregatedStats.js +253 -0
  62. package/dist/commonjs/PeerConnectionController/AggregatedStats.js.map +1 -0
  63. package/dist/commonjs/PeerConnectionController/CandidatePairStats.js +11 -0
  64. package/dist/commonjs/PeerConnectionController/CandidatePairStats.js.map +1 -0
  65. package/dist/commonjs/PeerConnectionController/CandidateStat.js +11 -0
  66. package/dist/commonjs/PeerConnectionController/CandidateStat.js.map +1 -0
  67. package/dist/commonjs/PeerConnectionController/CodecStats.js +11 -0
  68. package/dist/commonjs/PeerConnectionController/CodecStats.js.map +1 -0
  69. package/dist/commonjs/PeerConnectionController/DataChannelStats.js +11 -0
  70. package/dist/commonjs/PeerConnectionController/DataChannelStats.js.map +1 -0
  71. package/dist/commonjs/PeerConnectionController/InboundRTPStats.js +23 -0
  72. package/dist/commonjs/PeerConnectionController/InboundRTPStats.js.map +1 -0
  73. package/dist/commonjs/PeerConnectionController/InboundTrackStats.js +11 -0
  74. package/dist/commonjs/PeerConnectionController/InboundTrackStats.js.map +1 -0
  75. package/dist/commonjs/PeerConnectionController/OutBoundRTPStats.js +17 -0
  76. package/dist/commonjs/PeerConnectionController/OutBoundRTPStats.js.map +1 -0
  77. package/dist/commonjs/PeerConnectionController/PeerConnectionController.js +585 -0
  78. package/dist/commonjs/PeerConnectionController/PeerConnectionController.js.map +1 -0
  79. package/dist/commonjs/PeerConnectionController/SessionStats.js +11 -0
  80. package/dist/commonjs/PeerConnectionController/SessionStats.js.map +1 -0
  81. package/dist/commonjs/PeerConnectionController/StreamStats.js +11 -0
  82. package/dist/commonjs/PeerConnectionController/StreamStats.js.map +1 -0
  83. package/dist/commonjs/PixelStreaming/PixelStreaming.js +608 -0
  84. package/dist/commonjs/PixelStreaming/PixelStreaming.js.map +1 -0
  85. package/dist/commonjs/UI/OnScreenKeyboard.js +83 -0
  86. package/dist/commonjs/UI/OnScreenKeyboard.js.map +1 -0
  87. package/dist/commonjs/UeInstanceMessage/ResponseController.js +39 -0
  88. package/dist/commonjs/UeInstanceMessage/ResponseController.js.map +1 -0
  89. package/dist/commonjs/UeInstanceMessage/SendMessageController.js +121 -0
  90. package/dist/commonjs/UeInstanceMessage/SendMessageController.js.map +1 -0
  91. package/dist/commonjs/UeInstanceMessage/StreamMessageController.js +211 -0
  92. package/dist/commonjs/UeInstanceMessage/StreamMessageController.js.map +1 -0
  93. package/dist/commonjs/UeInstanceMessage/ToStreamerMessagesController.js +50 -0
  94. package/dist/commonjs/UeInstanceMessage/ToStreamerMessagesController.js.map +1 -0
  95. package/dist/commonjs/Util/EventEmitter.js +387 -0
  96. package/dist/commonjs/Util/EventEmitter.js.map +1 -0
  97. package/dist/commonjs/Util/FileUtil.js +109 -0
  98. package/dist/commonjs/Util/FileUtil.js.map +1 -0
  99. package/dist/commonjs/Util/IURLSearchParams.js +26 -0
  100. package/dist/commonjs/Util/IURLSearchParams.js.map +1 -0
  101. package/dist/commonjs/Util/InputCoordTranslator.js +50 -0
  102. package/dist/commonjs/Util/InputCoordTranslator.js.map +1 -0
  103. package/dist/commonjs/Util/RTCUtils.js +41 -0
  104. package/dist/commonjs/Util/RTCUtils.js.map +1 -0
  105. package/dist/commonjs/VideoPlayer/StreamController.js +68 -0
  106. package/dist/commonjs/VideoPlayer/StreamController.js.map +1 -0
  107. package/dist/commonjs/VideoPlayer/VideoPlayer.js +178 -0
  108. package/dist/commonjs/VideoPlayer/VideoPlayer.js.map +1 -0
  109. package/dist/commonjs/WebRtcPlayer/WebRtcPlayerController.js +1224 -0
  110. package/dist/commonjs/WebRtcPlayer/WebRtcPlayerController.js.map +1 -0
  111. package/dist/commonjs/WebXR/WebXRController.js +361 -0
  112. package/dist/commonjs/WebXR/WebXRController.js.map +1 -0
  113. package/dist/commonjs/pixelstreamingfrontend.js +71 -0
  114. package/dist/commonjs/pixelstreamingfrontend.js.map +1 -0
  115. package/dist/esm/AFK/AFKController.js +106 -0
  116. package/dist/esm/AFK/AFKController.js.map +1 -0
  117. package/dist/esm/Config/Config.js +552 -0
  118. package/dist/esm/Config/Config.js.map +1 -0
  119. package/dist/esm/Config/SettingBase.js +95 -0
  120. package/dist/esm/Config/SettingBase.js.map +1 -0
  121. package/dist/esm/Config/SettingFlag.js +46 -0
  122. package/dist/esm/Config/SettingFlag.js.map +1 -0
  123. package/dist/esm/Config/SettingNumber.js +80 -0
  124. package/dist/esm/Config/SettingNumber.js.map +1 -0
  125. package/dist/esm/Config/SettingOption.js +81 -0
  126. package/dist/esm/Config/SettingOption.js.map +1 -0
  127. package/dist/esm/Config/SettingText.js +39 -0
  128. package/dist/esm/Config/SettingText.js.map +1 -0
  129. package/dist/esm/DataChannel/DataChannelController.js +103 -0
  130. package/dist/esm/DataChannel/DataChannelController.js.map +1 -0
  131. package/dist/esm/DataChannel/DataChannelLatencyTestController.js +91 -0
  132. package/dist/esm/DataChannel/DataChannelLatencyTestController.js.map +1 -0
  133. package/dist/esm/DataChannel/DataChannelLatencyTestResults.js +15 -0
  134. package/dist/esm/DataChannel/DataChannelLatencyTestResults.js.map +1 -0
  135. package/dist/esm/DataChannel/DataChannelSender.js +40 -0
  136. package/dist/esm/DataChannel/DataChannelSender.js.map +1 -0
  137. package/dist/esm/DataChannel/InitialSettings.js +35 -0
  138. package/dist/esm/DataChannel/InitialSettings.js.map +1 -0
  139. package/dist/esm/DataChannel/LatencyTestResults.js +57 -0
  140. package/dist/esm/DataChannel/LatencyTestResults.js.map +1 -0
  141. package/dist/esm/FreezeFrame/FreezeFrame.js +90 -0
  142. package/dist/esm/FreezeFrame/FreezeFrame.js.map +1 -0
  143. package/dist/esm/FreezeFrame/FreezeFrameController.js +92 -0
  144. package/dist/esm/FreezeFrame/FreezeFrameController.js.map +1 -0
  145. package/dist/esm/Inputs/GamepadController.js +185 -0
  146. package/dist/esm/Inputs/GamepadController.js.map +1 -0
  147. package/dist/esm/Inputs/GamepadTypes.js +18 -0
  148. package/dist/esm/Inputs/GamepadTypes.js.map +1 -0
  149. package/dist/esm/Inputs/IInputController.js +2 -0
  150. package/dist/esm/Inputs/IInputController.js.map +1 -0
  151. package/dist/esm/Inputs/InputClassesFactory.js +92 -0
  152. package/dist/esm/Inputs/InputClassesFactory.js.map +1 -0
  153. package/dist/esm/Inputs/KeyCodes.js +110 -0
  154. package/dist/esm/Inputs/KeyCodes.js.map +1 -0
  155. package/dist/esm/Inputs/KeyboardController.js +134 -0
  156. package/dist/esm/Inputs/KeyboardController.js.map +1 -0
  157. package/dist/esm/Inputs/MouseButtons.js +24 -0
  158. package/dist/esm/Inputs/MouseButtons.js.map +1 -0
  159. package/dist/esm/Inputs/MouseController.js +94 -0
  160. package/dist/esm/Inputs/MouseController.js.map +1 -0
  161. package/dist/esm/Inputs/MouseControllerHovering.js +90 -0
  162. package/dist/esm/Inputs/MouseControllerHovering.js.map +1 -0
  163. package/dist/esm/Inputs/MouseControllerLocked.js +150 -0
  164. package/dist/esm/Inputs/MouseControllerLocked.js.map +1 -0
  165. package/dist/esm/Inputs/SpecialKeyCodes.js +16 -0
  166. package/dist/esm/Inputs/SpecialKeyCodes.js.map +1 -0
  167. package/dist/esm/Inputs/TouchController.js +120 -0
  168. package/dist/esm/Inputs/TouchController.js.map +1 -0
  169. package/dist/esm/Inputs/TouchControllerFake.js +88 -0
  170. package/dist/esm/Inputs/TouchControllerFake.js.map +1 -0
  171. package/dist/esm/Inputs/XRGamepadController.js +121 -0
  172. package/dist/esm/Inputs/XRGamepadController.js.map +1 -0
  173. package/dist/esm/PeerConnectionController/AggregatedStats.js +249 -0
  174. package/dist/esm/PeerConnectionController/AggregatedStats.js.map +1 -0
  175. package/dist/esm/PeerConnectionController/CandidatePairStats.js +7 -0
  176. package/dist/esm/PeerConnectionController/CandidatePairStats.js.map +1 -0
  177. package/dist/esm/PeerConnectionController/CandidateStat.js +7 -0
  178. package/dist/esm/PeerConnectionController/CandidateStat.js.map +1 -0
  179. package/dist/esm/PeerConnectionController/CodecStats.js +7 -0
  180. package/dist/esm/PeerConnectionController/CodecStats.js.map +1 -0
  181. package/dist/esm/PeerConnectionController/DataChannelStats.js +7 -0
  182. package/dist/esm/PeerConnectionController/DataChannelStats.js.map +1 -0
  183. package/dist/esm/PeerConnectionController/InboundRTPStats.js +17 -0
  184. package/dist/esm/PeerConnectionController/InboundRTPStats.js.map +1 -0
  185. package/dist/esm/PeerConnectionController/InboundTrackStats.js +7 -0
  186. package/dist/esm/PeerConnectionController/InboundTrackStats.js.map +1 -0
  187. package/dist/esm/PeerConnectionController/OutBoundRTPStats.js +12 -0
  188. package/dist/esm/PeerConnectionController/OutBoundRTPStats.js.map +1 -0
  189. package/dist/esm/PeerConnectionController/PeerConnectionController.js +581 -0
  190. package/dist/esm/PeerConnectionController/PeerConnectionController.js.map +1 -0
  191. package/dist/esm/PeerConnectionController/SessionStats.js +7 -0
  192. package/dist/esm/PeerConnectionController/SessionStats.js.map +1 -0
  193. package/dist/esm/PeerConnectionController/StreamStats.js +7 -0
  194. package/dist/esm/PeerConnectionController/StreamStats.js.map +1 -0
  195. package/dist/esm/PixelStreaming/PixelStreaming.js +604 -0
  196. package/dist/esm/PixelStreaming/PixelStreaming.js.map +1 -0
  197. package/dist/esm/UI/OnScreenKeyboard.js +79 -0
  198. package/dist/esm/UI/OnScreenKeyboard.js.map +1 -0
  199. package/dist/esm/UeInstanceMessage/ResponseController.js +35 -0
  200. package/dist/esm/UeInstanceMessage/ResponseController.js.map +1 -0
  201. package/dist/esm/UeInstanceMessage/SendMessageController.js +117 -0
  202. package/dist/esm/UeInstanceMessage/SendMessageController.js.map +1 -0
  203. package/dist/esm/UeInstanceMessage/StreamMessageController.js +206 -0
  204. package/dist/esm/UeInstanceMessage/StreamMessageController.js.map +1 -0
  205. package/dist/esm/UeInstanceMessage/ToStreamerMessagesController.js +46 -0
  206. package/dist/esm/UeInstanceMessage/ToStreamerMessagesController.js.map +1 -0
  207. package/dist/esm/Util/EventEmitter.js +346 -0
  208. package/dist/esm/Util/EventEmitter.js.map +1 -0
  209. package/dist/esm/Util/FileUtil.js +104 -0
  210. package/dist/esm/Util/FileUtil.js.map +1 -0
  211. package/dist/esm/Util/IURLSearchParams.js +22 -0
  212. package/dist/esm/Util/IURLSearchParams.js.map +1 -0
  213. package/dist/esm/Util/InputCoordTranslator.js +46 -0
  214. package/dist/esm/Util/InputCoordTranslator.js.map +1 -0
  215. package/dist/esm/Util/RTCUtils.js +37 -0
  216. package/dist/esm/Util/RTCUtils.js.map +1 -0
  217. package/dist/esm/VideoPlayer/StreamController.js +64 -0
  218. package/dist/esm/VideoPlayer/StreamController.js.map +1 -0
  219. package/dist/esm/VideoPlayer/VideoPlayer.js +174 -0
  220. package/dist/esm/VideoPlayer/VideoPlayer.js.map +1 -0
  221. package/dist/esm/WebRtcPlayer/WebRtcPlayerController.js +1220 -0
  222. package/dist/esm/WebRtcPlayer/WebRtcPlayerController.js.map +1 -0
  223. package/dist/esm/WebXR/WebXRController.js +357 -0
  224. package/dist/esm/WebXR/WebXRController.js.map +1 -0
  225. package/dist/esm/pixelstreamingfrontend.js +25 -0
  226. package/dist/esm/pixelstreamingfrontend.js.map +1 -0
  227. package/{types → dist/types}/AFK/AFKController.d.ts +38 -39
  228. package/{types → dist/types}/Config/Config.d.ts +220 -219
  229. package/{types → dist/types}/Config/SettingBase.d.ts +43 -30
  230. package/{types → dist/types}/Config/SettingFlag.d.ts +24 -33
  231. package/{types → dist/types}/Config/SettingNumber.d.ts +41 -45
  232. package/{types → dist/types}/Config/SettingOption.d.ts +41 -43
  233. package/{types → dist/types}/Config/SettingText.d.ts +21 -29
  234. package/{types → dist/types}/DataChannel/DataChannelController.d.ts +59 -59
  235. package/{types → dist/types}/DataChannel/DataChannelLatencyTestController.d.ts +25 -26
  236. package/{types → dist/types}/DataChannel/DataChannelLatencyTestResults.d.ts +46 -46
  237. package/{types → dist/types}/DataChannel/DataChannelSender.d.ts +21 -21
  238. package/{types → dist/types}/DataChannel/InitialSettings.d.ts +44 -44
  239. package/{types → dist/types}/DataChannel/LatencyTestResults.d.ts +31 -31
  240. package/{types → dist/types}/FreezeFrame/FreezeFrame.d.ts +36 -36
  241. package/{types → dist/types}/FreezeFrame/FreezeFrameController.d.ts +37 -37
  242. package/dist/types/Inputs/GamepadController.d.ts +61 -0
  243. package/dist/types/Inputs/GamepadTypes.d.ts +15 -0
  244. package/dist/types/Inputs/IInputController.d.ts +16 -0
  245. package/{types → dist/types}/Inputs/InputClassesFactory.d.ts +53 -54
  246. package/dist/types/Inputs/KeyCodes.d.ts +5 -0
  247. package/dist/types/Inputs/KeyboardController.d.ts +34 -0
  248. package/{types → dist/types}/Inputs/MouseButtons.d.ts +22 -22
  249. package/dist/types/Inputs/MouseController.d.ts +40 -0
  250. package/dist/types/Inputs/MouseControllerHovering.d.ts +26 -0
  251. package/dist/types/Inputs/MouseControllerLocked.d.ts +31 -0
  252. package/{types → dist/types}/Inputs/SpecialKeyCodes.d.ts +14 -14
  253. package/dist/types/Inputs/TouchController.d.ts +28 -0
  254. package/dist/types/Inputs/TouchControllerFake.d.ts +29 -0
  255. package/{types → dist/types}/Inputs/XRGamepadController.d.ts +15 -22
  256. package/{types → dist/types}/PeerConnectionController/AggregatedStats.d.ts +82 -84
  257. package/{types → dist/types}/PeerConnectionController/CandidatePairStats.d.ts +22 -22
  258. package/{types → dist/types}/PeerConnectionController/CandidateStat.d.ts +13 -13
  259. package/{types → dist/types}/PeerConnectionController/CodecStats.d.ts +14 -14
  260. package/{types → dist/types}/PeerConnectionController/DataChannelStats.d.ts +15 -15
  261. package/{types → dist/types}/PeerConnectionController/InboundRTPStats.d.ts +141 -141
  262. package/{types → dist/types}/PeerConnectionController/InboundTrackStats.d.ts +32 -32
  263. package/{types → dist/types}/PeerConnectionController/OutBoundRTPStats.d.ts +23 -23
  264. package/{types → dist/types}/PeerConnectionController/PeerConnectionController.d.ts +143 -140
  265. package/{types → dist/types}/PeerConnectionController/SessionStats.d.ts +8 -8
  266. package/{types → dist/types}/PeerConnectionController/StreamStats.d.ts +9 -9
  267. package/{types → dist/types}/PixelStreaming/PixelStreaming.d.ts +271 -259
  268. package/{types → dist/types}/UI/OnScreenKeyboard.d.ts +30 -30
  269. package/{types → dist/types}/UeInstanceMessage/ResponseController.d.ts +19 -19
  270. package/{types → dist/types}/UeInstanceMessage/SendMessageController.d.ts +18 -18
  271. package/{types → dist/types}/UeInstanceMessage/StreamMessageController.d.ts +29 -29
  272. package/{types → dist/types}/UeInstanceMessage/ToStreamerMessagesController.d.ts +32 -32
  273. package/{types → dist/types}/Util/EventEmitter.d.ts +429 -429
  274. package/{types → dist/types}/Util/FileUtil.d.ts +32 -32
  275. package/dist/types/Util/IURLSearchParams.d.ts +9 -0
  276. package/dist/types/Util/InputCoordTranslator.d.ts +29 -0
  277. package/{types → dist/types}/Util/RTCUtils.d.ts +8 -8
  278. package/{types → dist/types}/VideoPlayer/StreamController.d.ts +22 -24
  279. package/{types → dist/types}/VideoPlayer/VideoPlayer.d.ts +78 -78
  280. package/{types → dist/types}/WebRtcPlayer/WebRtcPlayerController.d.ts +379 -377
  281. package/{types → dist/types}/WebXR/WebXRController.d.ts +42 -42
  282. package/{types → dist/types}/pixelstreamingfrontend.d.ts +23 -22
  283. package/package.json +14 -17
  284. package/readme.md +9 -1
  285. package/src/AFK/AFKController.ts +10 -32
  286. package/src/Config/Config.ts +232 -205
  287. package/src/Config/SettingBase.ts +61 -2
  288. package/src/Config/SettingFlag.ts +10 -48
  289. package/src/Config/SettingNumber.ts +23 -33
  290. package/src/Config/SettingOption.ts +41 -56
  291. package/src/Config/SettingText.ts +9 -37
  292. package/src/DataChannel/DataChannelController.ts +6 -26
  293. package/src/DataChannel/DataChannelLatencyTestController.ts +43 -38
  294. package/src/DataChannel/DataChannelLatencyTestResults.ts +8 -10
  295. package/src/DataChannel/DataChannelSender.ts +5 -15
  296. package/src/DataChannel/LatencyTestResults.ts +5 -15
  297. package/src/FreezeFrame/FreezeFrame.ts +7 -19
  298. package/src/FreezeFrame/FreezeFrameController.ts +3 -14
  299. package/src/Inputs/GamepadController.ts +123 -221
  300. package/src/Inputs/GamepadTypes.ts +23 -0
  301. package/src/Inputs/IInputController.ts +17 -0
  302. package/src/Inputs/InputClassesFactory.ts +38 -45
  303. package/src/Inputs/KeyCodes.ts +114 -0
  304. package/src/Inputs/KeyboardController.ts +49 -232
  305. package/src/Inputs/MouseController.ts +71 -297
  306. package/src/Inputs/MouseControllerHovering.ts +118 -0
  307. package/src/Inputs/MouseControllerLocked.ts +194 -0
  308. package/src/Inputs/TouchController.ts +49 -105
  309. package/src/Inputs/TouchControllerFake.ts +132 -0
  310. package/src/Inputs/XRGamepadController.ts +35 -44
  311. package/src/PeerConnectionController/AggregatedStats.ts +46 -75
  312. package/src/PeerConnectionController/CandidatePairStats.ts +1 -1
  313. package/src/PeerConnectionController/CandidateStat.ts +1 -1
  314. package/src/PeerConnectionController/PeerConnectionController.ts +214 -170
  315. package/src/PixelStreaming/PixelStreaming.ts +174 -226
  316. package/src/UI/OnScreenKeyboard.ts +14 -9
  317. package/src/UeInstanceMessage/ResponseController.ts +6 -15
  318. package/src/UeInstanceMessage/SendMessageController.ts +16 -18
  319. package/src/UeInstanceMessage/StreamMessageController.ts +3 -12
  320. package/src/UeInstanceMessage/ToStreamerMessagesController.ts +3 -9
  321. package/src/Util/EventEmitter.ts +17 -22
  322. package/src/Util/FileUtil.ts +11 -34
  323. package/src/Util/IURLSearchParams.ts +25 -0
  324. package/src/Util/InputCoordTranslator.ts +73 -0
  325. package/src/Util/RTCUtils.ts +23 -15
  326. package/src/VideoPlayer/StreamController.ts +6 -23
  327. package/src/VideoPlayer/VideoPlayer.ts +9 -30
  328. package/src/WebRtcPlayer/WebRtcPlayerController.ts +328 -690
  329. package/src/WebXR/WebXRController.ts +82 -94
  330. package/src/pixelstreamingfrontend.ts +8 -6
  331. package/tsconfig.cjs.json +9 -0
  332. package/tsconfig.esm.json +7 -0
  333. package/tsconfig.json +4 -6
  334. package/dist/lib-pixelstreamingfrontend.esm.js +0 -1
  335. package/dist/lib-pixelstreamingfrontend.js +0 -1
  336. package/src/Inputs/FakeTouchController.ts +0 -199
  337. package/src/Inputs/HoveringMouseEvents.ts +0 -192
  338. package/src/Inputs/IMouseEvents.ts +0 -64
  339. package/src/Inputs/ITouchController.ts +0 -29
  340. package/src/Inputs/LockedMouseEvents.ts +0 -287
  341. package/src/Util/CoordinateConverter.ts +0 -290
  342. package/src/Util/EventListenerTracker.ts +0 -29
  343. package/types/Inputs/FakeTouchController.d.ts +0 -61
  344. package/types/Inputs/GamepadController.d.ts +0 -85
  345. package/types/Inputs/GamepadTypes.d.ts +0 -8
  346. package/types/Inputs/HoveringMouseEvents.d.ts +0 -56
  347. package/types/Inputs/IMouseEvents.d.ts +0 -53
  348. package/types/Inputs/ITouchController.d.ts +0 -24
  349. package/types/Inputs/KeyboardController.d.ts +0 -62
  350. package/types/Inputs/LockedMouseEvents.d.ts +0 -80
  351. package/types/Inputs/MouseController.d.ts +0 -75
  352. package/types/Inputs/TouchController.d.ts +0 -53
  353. package/types/Util/CoordinateConverter.d.ts +0 -100
  354. package/types/Util/EventListenerTracker.d.ts +0 -14
  355. package/webpack.common.js +0 -35
  356. package/webpack.dev.js +0 -35
  357. package/webpack.prod.js +0 -36
@@ -1,31 +1,31 @@
1
- /**
2
- * Latency Test Results Data
3
- */
4
- export declare class LatencyTestResults {
5
- ReceiptTimeMs: number;
6
- TransmissionTimeMs: number;
7
- PreCaptureTimeMs: number;
8
- PostCaptureTimeMs: number;
9
- PreEncodeTimeMs: number;
10
- PostEncodeTimeMs: number;
11
- EncodeMs: number;
12
- CaptureToSendMs: number;
13
- testStartTimeMs: number;
14
- browserReceiptTimeMs: number;
15
- latencyExcludingDecode: number;
16
- testDuration: number;
17
- networkLatency: number;
18
- browserSendLatency: number;
19
- frameDisplayDeltaTimeMs: number;
20
- endToEndLatency: number;
21
- encodeLatency: number;
22
- /**
23
- * Sets the Delta Time Milliseconds
24
- * @param DeltaTimeMs - Delta Time Milliseconds
25
- */
26
- setFrameDisplayDeltaTime(DeltaTimeMs: number): void;
27
- /**
28
- * Process the encoder times and set them
29
- */
30
- processFields(): void;
31
- }
1
+ /**
2
+ * Latency Test Results Data
3
+ */
4
+ export declare class LatencyTestResults {
5
+ ReceiptTimeMs: number;
6
+ TransmissionTimeMs: number;
7
+ PreCaptureTimeMs: number;
8
+ PostCaptureTimeMs: number;
9
+ PreEncodeTimeMs: number;
10
+ PostEncodeTimeMs: number;
11
+ EncodeMs: number;
12
+ CaptureToSendMs: number;
13
+ testStartTimeMs: number;
14
+ browserReceiptTimeMs: number;
15
+ latencyExcludingDecode: number;
16
+ testDuration: number;
17
+ networkLatency: number;
18
+ browserSendLatency: number;
19
+ frameDisplayDeltaTimeMs: number;
20
+ endToEndLatency: number;
21
+ encodeLatency: number;
22
+ /**
23
+ * Sets the Delta Time Milliseconds
24
+ * @param DeltaTimeMs - Delta Time Milliseconds
25
+ */
26
+ setFrameDisplayDeltaTime(DeltaTimeMs: number): void;
27
+ /**
28
+ * Process the encoder times and set them
29
+ */
30
+ processFields(): void;
31
+ }
@@ -1,36 +1,36 @@
1
- /**
2
- * A class for managing the freeze frame object
3
- */
4
- export declare class FreezeFrame {
5
- protected rootDiv: HTMLElement;
6
- protected rootElement: HTMLDivElement;
7
- imageElement: HTMLImageElement;
8
- freezeFrameHeight: number;
9
- freezeFrameWidth: number;
10
- /**
11
- * Construct a freeze frame
12
- * @param rootDiv the div that a freeze frame element will be injected into
13
- */
14
- constructor(rootDiv: HTMLElement);
15
- /**
16
- * Set the freeze frame element for showing
17
- */
18
- setElementForShow(): void;
19
- /**
20
- * Set the freeze frame element for hiding
21
- */
22
- setElementForHide(): void;
23
- /**
24
- * Update the freeze frames image source
25
- * @param jpeg - the freeze frame image as a byte array data
26
- */
27
- updateImageElementSource(jpeg: Uint8Array): void;
28
- /**
29
- * Set the dimensions for the freeze frame from the element and resize it
30
- */
31
- setDimensionsFromElementAndResize(): void;
32
- /**
33
- * Resize a freeze frame element
34
- */
35
- resize(): void;
36
- }
1
+ /**
2
+ * A class for managing the freeze frame object
3
+ */
4
+ export declare class FreezeFrame {
5
+ protected rootDiv: HTMLElement;
6
+ protected rootElement: HTMLDivElement;
7
+ imageElement: HTMLImageElement;
8
+ freezeFrameHeight: number;
9
+ freezeFrameWidth: number;
10
+ /**
11
+ * Construct a freeze frame
12
+ * @param rootDiv the div that a freeze frame element will be injected into
13
+ */
14
+ constructor(rootDiv: HTMLElement);
15
+ /**
16
+ * Set the freeze frame element for showing
17
+ */
18
+ setElementForShow(): void;
19
+ /**
20
+ * Set the freeze frame element for hiding
21
+ */
22
+ setElementForHide(): void;
23
+ /**
24
+ * Update the freeze frames image source
25
+ * @param jpeg - the freeze frame image as a byte array data
26
+ */
27
+ updateImageElementSource(jpeg: Uint8Array): void;
28
+ /**
29
+ * Set the dimensions for the freeze frame from the element and resize it
30
+ */
31
+ setDimensionsFromElementAndResize(): void;
32
+ /**
33
+ * Resize a freeze frame element
34
+ */
35
+ resize(): void;
36
+ }
@@ -1,37 +1,37 @@
1
- import { FreezeFrame } from './FreezeFrame';
2
- /**
3
- * A class for controlling freeze frame functionality
4
- */
5
- export declare class FreezeFrameController {
6
- freezeFrame: FreezeFrame;
7
- receiving: boolean;
8
- size: number;
9
- jpeg: Uint8Array;
10
- valid: boolean;
11
- freezeFrameDelay: number;
12
- /**
13
- * Construct a freeze frame controller
14
- * @param rootDiv - the div that a freeze frame element will be injected into
15
- */
16
- constructor(rootDiv: HTMLElement);
17
- /**
18
- * Show the freeze frame if it is valid
19
- */
20
- showFreezeFrame(): void;
21
- /**
22
- * Hide the freeze frame and set the validity to false
23
- */
24
- hideFreezeFrame(): void;
25
- /**
26
- * Update the freeze frames image source and load it
27
- * @param jpeg - the freeze frame image as a byte array data
28
- * @param onLoadCallBack - a call back for managing if the play overlay needs to be shown or not
29
- */
30
- updateFreezeFrameAndShow(jpeg: Uint8Array, onLoadCallBack: () => void): void;
31
- /**
32
- * Process the new freeze frame image and update it
33
- * @param view - the freeze frame image as a byte array data
34
- * @param onLoadCallBack - a call back for managing if the play overlay needs to be shown or not
35
- */
36
- processFreezeFrameMessage(view: Uint8Array, onLoadCallBack: () => void): void;
37
- }
1
+ import { FreezeFrame } from './FreezeFrame';
2
+ /**
3
+ * A class for controlling freeze frame functionality
4
+ */
5
+ export declare class FreezeFrameController {
6
+ freezeFrame: FreezeFrame;
7
+ receiving: boolean;
8
+ size: number;
9
+ jpeg: Uint8Array;
10
+ valid: boolean;
11
+ freezeFrameDelay: number;
12
+ /**
13
+ * Construct a freeze frame controller
14
+ * @param rootDiv - the div that a freeze frame element will be injected into
15
+ */
16
+ constructor(rootDiv: HTMLElement);
17
+ /**
18
+ * Show the freeze frame if it is valid
19
+ */
20
+ showFreezeFrame(): void;
21
+ /**
22
+ * Hide the freeze frame and set the validity to false
23
+ */
24
+ hideFreezeFrame(): void;
25
+ /**
26
+ * Update the freeze frames image source and load it
27
+ * @param jpeg - the freeze frame image as a byte array data
28
+ * @param onLoadCallBack - a call back for managing if the play overlay needs to be shown or not
29
+ */
30
+ updateFreezeFrameAndShow(jpeg: Uint8Array, onLoadCallBack: () => void): void;
31
+ /**
32
+ * Process the new freeze frame image and update it
33
+ * @param view - the freeze frame image as a byte array data
34
+ * @param onLoadCallBack - a call back for managing if the play overlay needs to be shown or not
35
+ */
36
+ processFreezeFrameMessage(view: Uint8Array, onLoadCallBack: () => void): void;
37
+ }
@@ -0,0 +1,61 @@
1
+ import { StreamMessageController } from '../UeInstanceMessage/StreamMessageController';
2
+ import { IInputController } from './IInputController';
3
+ import { Controller } from './GamepadTypes';
4
+ /**
5
+ * Additional types for Window and Navigator
6
+ */
7
+ declare global {
8
+ interface Window {
9
+ mozRequestAnimationFrame(callback: FrameRequestCallback): number;
10
+ webkitRequestAnimationFrame(callback: FrameRequestCallback): number;
11
+ }
12
+ interface Navigator {
13
+ webkitGetGamepads(): Gamepad[];
14
+ }
15
+ }
16
+ /**
17
+ * Gamepad layout codes enum
18
+ */
19
+ export declare enum GamepadLayout {
20
+ RightClusterBottomButton = 0,
21
+ RightClusterRightButton = 1,
22
+ RightClusterLeftButton = 2,
23
+ RightClusterTopButton = 3,
24
+ LeftShoulder = 4,
25
+ RightShoulder = 5,
26
+ LeftTrigger = 6,
27
+ RightTrigger = 7,
28
+ SelectOrBack = 8,
29
+ StartOrForward = 9,
30
+ LeftAnalogPress = 10,
31
+ RightAnalogPress = 11,
32
+ LeftClusterTopButton = 12,
33
+ LeftClusterBottomButton = 13,
34
+ LeftClusterLeftButton = 14,
35
+ LeftClusterRightButton = 15,
36
+ CentreButton = 16,
37
+ LeftStickHorizontal = 0,
38
+ LeftStickVertical = 1,
39
+ RightStickHorizontal = 2,
40
+ RightStickVertical = 3
41
+ }
42
+ /**
43
+ * Handles gamepad events from the document to send to the streamer.
44
+ */
45
+ export declare class GamepadController implements IInputController {
46
+ controllers: Array<Controller>;
47
+ streamMessageController: StreamMessageController;
48
+ onGamepadConnectedListener: (event: GamepadEvent) => void;
49
+ onGamepadDisconnectedListener: (event: GamepadEvent) => void;
50
+ beforeUnloadListener: (event: Event) => void;
51
+ requestAnimationFrame: (callback: FrameRequestCallback) => number;
52
+ constructor(streamMessageController: StreamMessageController);
53
+ register(): void;
54
+ unregister(): void;
55
+ onGamepadResponseReceived(gamepadId: number): void;
56
+ private onGamepadConnected;
57
+ private onGamepadDisconnected;
58
+ private scanGamepads;
59
+ private updateStatus;
60
+ private onBeforeUnload;
61
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * The interface for controllers
3
+ */
4
+ export interface Controller {
5
+ currentState: Gamepad;
6
+ prevState: Gamepad;
7
+ id: number | undefined;
8
+ }
9
+ /**
10
+ * Deep copies the values from a gamepad by first converting it to a JSON object and then back to a gamepad
11
+ *
12
+ * @param gamepad the original gamepad
13
+ * @returns a new gamepad object, populated with the original gamepads values
14
+ */
15
+ export declare function deepCopyGamepad(gamepad: Gamepad): Gamepad;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * The base interface for all input controllers.
3
+ * Since controllers mostly just register events and handle them the external interface is limited
4
+ * to register/unregister
5
+ */
6
+ export interface IInputController {
7
+ /**
8
+ * Tells the controller to register itself to the events it needs to operate.
9
+ */
10
+ register(): void;
11
+ /**
12
+ * Tells the cnotroller to unregister from the events it previously registered to.
13
+ * No behaviour through the controller should happen past this point until register is called again.
14
+ */
15
+ unregister(): void;
16
+ }
@@ -1,54 +1,53 @@
1
- import { FakeTouchController } from './FakeTouchController';
2
- import { KeyboardController } from './KeyboardController';
3
- import { MouseController } from './MouseController';
4
- import { TouchController } from './TouchController';
5
- import { GamePadController } from './GamepadController';
6
- import { Config, ControlSchemeType } from '../Config/Config';
7
- import { CoordinateConverter } from '../Util/CoordinateConverter';
8
- import { StreamMessageController } from '../UeInstanceMessage/StreamMessageController';
9
- import { VideoPlayer } from '../VideoPlayer/VideoPlayer';
10
- /**
11
- * Class for making and setting up input class types
12
- */
13
- export declare class InputClassesFactory {
14
- toStreamerMessagesProvider: StreamMessageController;
15
- videoElementProvider: VideoPlayer;
16
- coordinateConverter: CoordinateConverter;
17
- activeKeys: ActiveKeys;
18
- /**
19
- * @param toStreamerMessagesProvider - Stream message instance
20
- * @param videoElementProvider - Video Player instance
21
- * @param coordinateConverter - A coordinateConverter instance
22
- */
23
- constructor(toStreamerMessagesProvider: StreamMessageController, videoElementProvider: VideoPlayer, coordinateConverter: CoordinateConverter);
24
- /**
25
- * Registers browser key events.
26
- */
27
- registerKeyBoard(config: Config): KeyboardController;
28
- /**
29
- * register mouse events based on a control type
30
- * @param controlScheme - if the mouse is either hovering or locked
31
- */
32
- registerMouse(controlScheme: ControlSchemeType): MouseController;
33
- /**
34
- * register touch events
35
- * @param fakeMouseTouch - the faked mouse touch event
36
- */
37
- registerTouch(fakeMouseTouch: boolean, videoElementParentClientRect: DOMRect): FakeTouchController | TouchController;
38
- /**
39
- * registers a gamepad
40
- */
41
- registerGamePad(): GamePadController;
42
- }
43
- /**
44
- * A class that keeps track of current active keys
45
- */
46
- export declare class ActiveKeys {
47
- activeKeys: Array<number>;
48
- constructor();
49
- /**
50
- * Get the current array of active keys
51
- * @returns - an array of active keys
52
- */
53
- getActiveKeys(): number[];
54
- }
1
+ import { KeyboardController } from './KeyboardController';
2
+ import { MouseController } from './MouseController';
3
+ import { GamepadController } from './GamepadController';
4
+ import { Config, ControlSchemeType } from '../Config/Config';
5
+ import { InputCoordTranslator } from '../Util/InputCoordTranslator';
6
+ import { StreamMessageController } from '../UeInstanceMessage/StreamMessageController';
7
+ import { VideoPlayer } from '../VideoPlayer/VideoPlayer';
8
+ import { IInputController } from './IInputController';
9
+ /**
10
+ * Class for making and setting up input class types
11
+ */
12
+ export declare class InputClassesFactory {
13
+ toStreamerMessagesProvider: StreamMessageController;
14
+ videoElementProvider: VideoPlayer;
15
+ coordinateConverter: InputCoordTranslator;
16
+ activeKeys: ActiveKeys;
17
+ /**
18
+ * @param toStreamerMessagesProvider - Stream message instance
19
+ * @param videoElementProvider - Video Player instance
20
+ * @param coordinateConverter - A coordinateConverter instance
21
+ */
22
+ constructor(toStreamerMessagesProvider: StreamMessageController, videoElementProvider: VideoPlayer, coordinateConverter: InputCoordTranslator);
23
+ /**
24
+ * Registers browser key events.
25
+ */
26
+ registerKeyBoard(config: Config): KeyboardController;
27
+ /**
28
+ * register mouse events based on a control type
29
+ * @param controlScheme - if the mouse is either hovering or locked
30
+ */
31
+ registerMouse(controlScheme: ControlSchemeType): MouseController;
32
+ /**
33
+ * register touch events
34
+ * @param fakeMouseTouch - the faked mouse touch event
35
+ */
36
+ registerTouch(fakeMouseTouch: boolean): IInputController;
37
+ /**
38
+ * registers a gamepad
39
+ */
40
+ registerGamePad(): GamepadController;
41
+ }
42
+ /**
43
+ * A class that keeps track of current active keys
44
+ */
45
+ export declare class ActiveKeys {
46
+ activeKeys: Array<number>;
47
+ constructor();
48
+ /**
49
+ * Get the current array of active keys
50
+ * @returns - an array of active keys
51
+ */
52
+ getActiveKeys(): number[];
53
+ }
@@ -0,0 +1,5 @@
1
+ interface ICodeToKeyCode {
2
+ [key: string]: number;
3
+ }
4
+ export declare const CodeToKeyCode: ICodeToKeyCode;
5
+ export {};
@@ -0,0 +1,34 @@
1
+ import { ActiveKeys } from './InputClassesFactory';
2
+ import { StreamMessageController } from '../UeInstanceMessage/StreamMessageController';
3
+ import { Config } from '../Config/Config';
4
+ import { IInputController } from './IInputController';
5
+ /**
6
+ * Handles the Keyboard Inputs for the document
7
+ */
8
+ export declare class KeyboardController implements IInputController {
9
+ streamMessageController: StreamMessageController;
10
+ activeKeys: ActiveKeys;
11
+ config: Config;
12
+ onKeyDownListener: (event: KeyboardEvent) => void;
13
+ onKeyUpListener: (event: KeyboardEvent) => void;
14
+ onKeyPressListener: (event: KeyboardEvent) => void;
15
+ onCompositionEndListener: (event: KeyboardEvent) => void;
16
+ constructor(streamMessageController: StreamMessageController, config: Config, activeKeys: ActiveKeys);
17
+ register(): void;
18
+ unregister(): void;
19
+ private handleOnKeyDown;
20
+ private handleOnKeyUp;
21
+ private handleOnKeyPress;
22
+ private handleOnCompositionEnd;
23
+ /**
24
+ * Gets the Keycode of the Key pressed
25
+ * @param keyboardEvent - Key board Event
26
+ * @returns - the key code of the Key
27
+ */
28
+ private getKeycode;
29
+ /**
30
+ * Browser keys do not have a charCode so we only need to test keyCode.
31
+ * @param keyCode - the browser keycode number
32
+ */
33
+ private isKeyCodeBrowserKey;
34
+ }
@@ -1,22 +1,22 @@
1
- /**
2
- * Mouse Button Data
3
- * {@link https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button}
4
- */
5
- export declare class MouseButton {
6
- static mainButton: number;
7
- static auxiliaryButton: number;
8
- static secondaryButton: number;
9
- static fourthButton: number;
10
- static fifthButton: number;
11
- }
12
- /**
13
- * Mouse Button Mask Data
14
- * {@link https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons}
15
- */
16
- export declare class MouseButtonsMask {
17
- static primaryButton: number;
18
- static secondaryButton: number;
19
- static auxiliaryButton: number;
20
- static fourthButton: number;
21
- static fifthButton: number;
22
- }
1
+ /**
2
+ * Mouse Button Data
3
+ * {@link https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button}
4
+ */
5
+ export declare class MouseButton {
6
+ static mainButton: number;
7
+ static auxiliaryButton: number;
8
+ static secondaryButton: number;
9
+ static fourthButton: number;
10
+ static fifthButton: number;
11
+ }
12
+ /**
13
+ * Mouse Button Mask Data
14
+ * {@link https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons}
15
+ */
16
+ export declare class MouseButtonsMask {
17
+ static primaryButton: number;
18
+ static secondaryButton: number;
19
+ static auxiliaryButton: number;
20
+ static fourthButton: number;
21
+ static fifthButton: number;
22
+ }
@@ -0,0 +1,40 @@
1
+ import { StreamMessageController } from '../UeInstanceMessage/StreamMessageController';
2
+ import { InputCoordTranslator } from '../Util/InputCoordTranslator';
3
+ import { VideoPlayer } from '../VideoPlayer/VideoPlayer';
4
+ import type { ActiveKeys } from './InputClassesFactory';
5
+ import { IInputController } from './IInputController';
6
+ /**
7
+ * Extra types for Document and WheelEvent
8
+ */
9
+ declare global {
10
+ interface Document {
11
+ mozPointerLockElement: unknown;
12
+ mozExitPointerLock?(): void;
13
+ }
14
+ interface WheelEvent {
15
+ wheelDelta: number;
16
+ }
17
+ }
18
+ /**
19
+ * The base class for mouse controllers. Since there is a bunch of shared behaviour between locked and
20
+ * hover mouse controllers this is where that shared behaviour lives.
21
+ */
22
+ export declare class MouseController implements IInputController {
23
+ videoPlayer: VideoPlayer;
24
+ streamMessageController: StreamMessageController;
25
+ coordinateConverter: InputCoordTranslator;
26
+ activeKeys: ActiveKeys;
27
+ onEnterListener: (event: MouseEvent) => void;
28
+ onLeaveListener: (event: MouseEvent) => void;
29
+ constructor(streamMessageController: StreamMessageController, videoPlayer: VideoPlayer, coordinateConverter: InputCoordTranslator, activeKeys: ActiveKeys);
30
+ register(): void;
31
+ unregister(): void;
32
+ registerMouseEnterAndLeaveEvents(): void;
33
+ unregisterMouseEnterAndLeaveEvents(): void;
34
+ private onMouseEnter;
35
+ private onMouseLeave;
36
+ private releaseMouseButtons;
37
+ private pressMouseButtons;
38
+ private sendMouseDown;
39
+ private sendMouseUp;
40
+ }
@@ -0,0 +1,26 @@
1
+ import { StreamMessageController } from '../UeInstanceMessage/StreamMessageController';
2
+ import { InputCoordTranslator } from '../Util/InputCoordTranslator';
3
+ import { VideoPlayer } from '../VideoPlayer/VideoPlayer';
4
+ import type { ActiveKeys } from './InputClassesFactory';
5
+ import { MouseController } from './MouseController';
6
+ /**
7
+ * A mouse controller that allows the mouse to freely float over the video document.
8
+ */
9
+ export declare class MouseControllerHovering extends MouseController {
10
+ videoElementParent: HTMLDivElement;
11
+ onMouseUpListener: (event: MouseEvent) => void;
12
+ onMouseDownListener: (event: MouseEvent) => void;
13
+ onMouseDblClickListener: (event: MouseEvent) => void;
14
+ onMouseWheelListener: (event: WheelEvent) => void;
15
+ onMouseMoveListener: (event: MouseEvent) => void;
16
+ onContextMenuListener: (event: MouseEvent) => void;
17
+ constructor(streamMessageController: StreamMessageController, videoPlayer: VideoPlayer, coordinateConverter: InputCoordTranslator, activeKeys: ActiveKeys);
18
+ register(): void;
19
+ unregister(): void;
20
+ private onMouseDown;
21
+ private onMouseUp;
22
+ private onContextMenu;
23
+ private onMouseMove;
24
+ private onMouseWheel;
25
+ private onMouseDblClick;
26
+ }
@@ -0,0 +1,31 @@
1
+ import { StreamMessageController } from '../UeInstanceMessage/StreamMessageController';
2
+ import { InputCoordTranslator, TranslatedCoordUnsigned } from '../Util/InputCoordTranslator';
3
+ import { VideoPlayer } from '../VideoPlayer/VideoPlayer';
4
+ import type { ActiveKeys } from './InputClassesFactory';
5
+ import { MouseController } from './MouseController';
6
+ /**
7
+ * A mouse controller that locks the mouse to the video document and prevents it from leaving the window
8
+ */
9
+ export declare class MouseControllerLocked extends MouseController {
10
+ videoElementParent: HTMLDivElement;
11
+ x: number;
12
+ y: number;
13
+ normalizedCoord: TranslatedCoordUnsigned;
14
+ onRequestLockListener: () => void;
15
+ onLockStateChangeListener: () => void;
16
+ onMouseUpListener: (event: MouseEvent) => void;
17
+ onMouseDownListener: (event: MouseEvent) => void;
18
+ onMouseDblClickListener: (event: MouseEvent) => void;
19
+ onMouseWheelListener: (event: WheelEvent) => void;
20
+ onMouseMoveListener: (event: MouseEvent) => void;
21
+ constructor(streamMessageController: StreamMessageController, videoPlayer: VideoPlayer, coordinateConverter: InputCoordTranslator, activeKeys: ActiveKeys);
22
+ register(): void;
23
+ unregister(): void;
24
+ private onRequestLock;
25
+ private onLockStateChange;
26
+ private onMouseDown;
27
+ private onMouseUp;
28
+ private onMouseMove;
29
+ private onMouseWheel;
30
+ private onMouseDblClick;
31
+ }
@@ -1,14 +1,14 @@
1
- /**
2
- * Registers the Special Key codes
3
- * Must be kept in sync with JavaScriptKeyCodeToFKey C++ array.
4
- * The index of the entry in the array is the special key code given below.
5
- */
6
- export declare class SpecialKeyCodes {
7
- static backSpace: number;
8
- static shift: number;
9
- static control: number;
10
- static alt: number;
11
- static rightShift: number;
12
- static rightControl: number;
13
- static rightAlt: number;
14
- }
1
+ /**
2
+ * Registers the Special Key codes
3
+ * Must be kept in sync with JavaScriptKeyCodeToFKey C++ array.
4
+ * The index of the entry in the array is the special key code given below.
5
+ */
6
+ export declare class SpecialKeyCodes {
7
+ static backSpace: number;
8
+ static shift: number;
9
+ static control: number;
10
+ static alt: number;
11
+ static rightShift: number;
12
+ static rightControl: number;
13
+ static rightAlt: number;
14
+ }
@@ -0,0 +1,28 @@
1
+ import { InputCoordTranslator } from '../Util/InputCoordTranslator';
2
+ import { StreamMessageController } from '../UeInstanceMessage/StreamMessageController';
3
+ import { VideoPlayer } from '../VideoPlayer/VideoPlayer';
4
+ import { IInputController } from './IInputController';
5
+ /**
6
+ * The basic touch controller that handles the touch events on the document.
7
+ */
8
+ export declare class TouchController implements IInputController {
9
+ streamMessageController: StreamMessageController;
10
+ videoPlayer: VideoPlayer;
11
+ coordinateConverter: InputCoordTranslator;
12
+ videoElementParent: HTMLVideoElement;
13
+ fingers: number[];
14
+ fingerIds: Map<any, any>;
15
+ maxByteValue: number;
16
+ onTouchStartListener: (event: TouchEvent) => void;
17
+ onTouchEndListener: (event: TouchEvent) => void;
18
+ onTouchMoveListener: (event: TouchEvent) => void;
19
+ constructor(streamMessageController: StreamMessageController, videoPlayer: VideoPlayer, coordinateConverter: InputCoordTranslator);
20
+ register(): void;
21
+ unregister(): void;
22
+ private rememberTouch;
23
+ private forgetTouch;
24
+ private onTouchStart;
25
+ private onTouchEnd;
26
+ private onTouchMove;
27
+ private emitTouchData;
28
+ }