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

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 (169) hide show
  1. package/dist/commonjs/AFK/AFKController.js +109 -109
  2. package/dist/commonjs/Config/Config.js +559 -559
  3. package/dist/commonjs/Config/SettingBase.js +98 -98
  4. package/dist/commonjs/Config/SettingFlag.js +49 -49
  5. package/dist/commonjs/Config/SettingNumber.js +83 -83
  6. package/dist/commonjs/Config/SettingOption.js +84 -84
  7. package/dist/commonjs/Config/SettingText.js +42 -42
  8. package/dist/commonjs/DataChannel/DataChannelController.js +106 -106
  9. package/dist/commonjs/DataChannel/DataChannelLatencyTestController.js +94 -94
  10. package/dist/commonjs/DataChannel/DataChannelLatencyTestResults.js +18 -18
  11. package/dist/commonjs/DataChannel/DataChannelSender.js +43 -43
  12. package/dist/commonjs/DataChannel/InitialSettings.js +41 -41
  13. package/dist/commonjs/DataChannel/LatencyTestResults.js +60 -60
  14. package/dist/commonjs/FreezeFrame/FreezeFrame.js +93 -93
  15. package/dist/commonjs/FreezeFrame/FreezeFrameController.js +95 -95
  16. package/dist/commonjs/Inputs/GamepadController.js +188 -188
  17. package/dist/commonjs/Inputs/GamepadTypes.js +21 -21
  18. package/dist/commonjs/Inputs/IInputController.js +2 -2
  19. package/dist/commonjs/Inputs/InputClassesFactory.js +96 -96
  20. package/dist/commonjs/Inputs/KeyCodes.js +112 -112
  21. package/dist/commonjs/Inputs/KeyboardController.js +137 -137
  22. package/dist/commonjs/Inputs/MouseButtons.js +28 -28
  23. package/dist/commonjs/Inputs/MouseController.js +97 -97
  24. package/dist/commonjs/Inputs/MouseControllerHovering.js +93 -93
  25. package/dist/commonjs/Inputs/MouseControllerLocked.js +153 -153
  26. package/dist/commonjs/Inputs/SpecialKeyCodes.js +19 -19
  27. package/dist/commonjs/Inputs/TouchController.js +123 -123
  28. package/dist/commonjs/Inputs/TouchControllerFake.js +91 -91
  29. package/dist/commonjs/Inputs/XRGamepadController.js +124 -124
  30. package/dist/commonjs/PeerConnectionController/AggregatedStats.js +252 -252
  31. package/dist/commonjs/PeerConnectionController/CandidatePairStats.js +10 -10
  32. package/dist/commonjs/PeerConnectionController/CandidateStat.js +10 -10
  33. package/dist/commonjs/PeerConnectionController/CodecStats.js +10 -10
  34. package/dist/commonjs/PeerConnectionController/DataChannelStats.js +10 -10
  35. package/dist/commonjs/PeerConnectionController/InboundRTPStats.js +22 -22
  36. package/dist/commonjs/PeerConnectionController/InboundTrackStats.js +10 -10
  37. package/dist/commonjs/PeerConnectionController/OutBoundRTPStats.js +16 -16
  38. package/dist/commonjs/PeerConnectionController/PeerConnectionController.js +584 -584
  39. package/dist/commonjs/PeerConnectionController/SessionStats.js +10 -10
  40. package/dist/commonjs/PeerConnectionController/StreamStats.js +10 -10
  41. package/dist/commonjs/PixelStreaming/PixelStreaming.js +607 -607
  42. package/dist/commonjs/UI/OnScreenKeyboard.js +82 -82
  43. package/dist/commonjs/UeInstanceMessage/ResponseController.js +38 -38
  44. package/dist/commonjs/UeInstanceMessage/SendMessageController.js +120 -120
  45. package/dist/commonjs/UeInstanceMessage/StreamMessageController.js +210 -210
  46. package/dist/commonjs/UeInstanceMessage/ToStreamerMessagesController.js +49 -49
  47. package/dist/commonjs/Util/EventEmitter.js +386 -386
  48. package/dist/commonjs/Util/FileUtil.js +108 -108
  49. package/dist/commonjs/Util/IURLSearchParams.js +25 -25
  50. package/dist/commonjs/Util/InputCoordTranslator.js +49 -49
  51. package/dist/commonjs/Util/RTCUtils.js +40 -40
  52. package/dist/commonjs/VideoPlayer/StreamController.js +67 -67
  53. package/dist/commonjs/VideoPlayer/VideoPlayer.js +177 -177
  54. package/dist/commonjs/WebRtcPlayer/WebRtcPlayerController.js +1221 -1221
  55. package/dist/commonjs/WebXR/WebXRController.js +335 -335
  56. package/dist/commonjs/pixelstreamingfrontend.js +70 -70
  57. package/dist/esm/AFK/AFKController.js +105 -105
  58. package/dist/esm/Config/Config.js +551 -551
  59. package/dist/esm/Config/SettingBase.js +94 -94
  60. package/dist/esm/Config/SettingFlag.js +45 -45
  61. package/dist/esm/Config/SettingNumber.js +79 -79
  62. package/dist/esm/Config/SettingOption.js +80 -80
  63. package/dist/esm/Config/SettingText.js +38 -38
  64. package/dist/esm/DataChannel/DataChannelController.js +102 -102
  65. package/dist/esm/DataChannel/DataChannelLatencyTestController.js +90 -90
  66. package/dist/esm/DataChannel/DataChannelLatencyTestResults.js +14 -14
  67. package/dist/esm/DataChannel/DataChannelSender.js +39 -39
  68. package/dist/esm/DataChannel/InitialSettings.js +34 -34
  69. package/dist/esm/DataChannel/LatencyTestResults.js +56 -56
  70. package/dist/esm/FreezeFrame/FreezeFrame.js +89 -89
  71. package/dist/esm/FreezeFrame/FreezeFrameController.js +91 -91
  72. package/dist/esm/Inputs/GamepadController.js +184 -184
  73. package/dist/esm/Inputs/GamepadTypes.js +17 -17
  74. package/dist/esm/Inputs/IInputController.js +1 -1
  75. package/dist/esm/Inputs/InputClassesFactory.js +91 -91
  76. package/dist/esm/Inputs/KeyCodes.js +109 -109
  77. package/dist/esm/Inputs/KeyboardController.js +133 -133
  78. package/dist/esm/Inputs/MouseButtons.js +23 -23
  79. package/dist/esm/Inputs/MouseController.js +93 -93
  80. package/dist/esm/Inputs/MouseControllerHovering.js +89 -89
  81. package/dist/esm/Inputs/MouseControllerLocked.js +149 -149
  82. package/dist/esm/Inputs/SpecialKeyCodes.js +15 -15
  83. package/dist/esm/Inputs/TouchController.js +119 -119
  84. package/dist/esm/Inputs/TouchControllerFake.js +87 -87
  85. package/dist/esm/Inputs/XRGamepadController.js +120 -120
  86. package/dist/esm/PeerConnectionController/AggregatedStats.js +248 -248
  87. package/dist/esm/PeerConnectionController/CandidatePairStats.js +6 -6
  88. package/dist/esm/PeerConnectionController/CandidateStat.js +6 -6
  89. package/dist/esm/PeerConnectionController/CodecStats.js +6 -6
  90. package/dist/esm/PeerConnectionController/DataChannelStats.js +6 -6
  91. package/dist/esm/PeerConnectionController/InboundRTPStats.js +16 -16
  92. package/dist/esm/PeerConnectionController/InboundTrackStats.js +6 -6
  93. package/dist/esm/PeerConnectionController/OutBoundRTPStats.js +11 -11
  94. package/dist/esm/PeerConnectionController/PeerConnectionController.js +580 -580
  95. package/dist/esm/PeerConnectionController/SessionStats.js +6 -6
  96. package/dist/esm/PeerConnectionController/StreamStats.js +6 -6
  97. package/dist/esm/PixelStreaming/PixelStreaming.js +603 -603
  98. package/dist/esm/UI/OnScreenKeyboard.js +78 -78
  99. package/dist/esm/UeInstanceMessage/ResponseController.js +34 -34
  100. package/dist/esm/UeInstanceMessage/SendMessageController.js +116 -116
  101. package/dist/esm/UeInstanceMessage/StreamMessageController.js +205 -205
  102. package/dist/esm/UeInstanceMessage/ToStreamerMessagesController.js +45 -45
  103. package/dist/esm/Util/EventEmitter.js +345 -345
  104. package/dist/esm/Util/FileUtil.js +103 -103
  105. package/dist/esm/Util/IURLSearchParams.js +21 -21
  106. package/dist/esm/Util/InputCoordTranslator.js +45 -45
  107. package/dist/esm/Util/RTCUtils.js +36 -36
  108. package/dist/esm/VideoPlayer/StreamController.js +63 -63
  109. package/dist/esm/VideoPlayer/VideoPlayer.js +173 -173
  110. package/dist/esm/WebRtcPlayer/WebRtcPlayerController.js +1217 -1217
  111. package/dist/esm/WebXR/WebXRController.js +331 -331
  112. package/dist/esm/pixelstreamingfrontend.js +24 -24
  113. package/dist/types/AFK/AFKController.d.ts +38 -38
  114. package/dist/types/Config/Config.d.ts +220 -220
  115. package/dist/types/Config/SettingBase.d.ts +43 -43
  116. package/dist/types/Config/SettingFlag.d.ts +24 -24
  117. package/dist/types/Config/SettingNumber.d.ts +41 -41
  118. package/dist/types/Config/SettingOption.d.ts +41 -41
  119. package/dist/types/Config/SettingText.d.ts +21 -21
  120. package/dist/types/DataChannel/DataChannelController.d.ts +59 -59
  121. package/dist/types/DataChannel/DataChannelLatencyTestController.d.ts +25 -25
  122. package/dist/types/DataChannel/DataChannelLatencyTestResults.d.ts +46 -46
  123. package/dist/types/DataChannel/DataChannelSender.d.ts +21 -21
  124. package/dist/types/DataChannel/InitialSettings.d.ts +44 -44
  125. package/dist/types/DataChannel/LatencyTestResults.d.ts +31 -31
  126. package/dist/types/FreezeFrame/FreezeFrame.d.ts +36 -36
  127. package/dist/types/FreezeFrame/FreezeFrameController.d.ts +37 -37
  128. package/dist/types/Inputs/GamepadController.d.ts +61 -61
  129. package/dist/types/Inputs/GamepadTypes.d.ts +15 -15
  130. package/dist/types/Inputs/IInputController.d.ts +16 -16
  131. package/dist/types/Inputs/InputClassesFactory.d.ts +53 -53
  132. package/dist/types/Inputs/KeyCodes.d.ts +5 -5
  133. package/dist/types/Inputs/KeyboardController.d.ts +34 -34
  134. package/dist/types/Inputs/MouseButtons.d.ts +22 -22
  135. package/dist/types/Inputs/MouseController.d.ts +40 -40
  136. package/dist/types/Inputs/MouseControllerHovering.d.ts +26 -26
  137. package/dist/types/Inputs/MouseControllerLocked.d.ts +31 -31
  138. package/dist/types/Inputs/SpecialKeyCodes.d.ts +14 -14
  139. package/dist/types/Inputs/TouchController.d.ts +28 -28
  140. package/dist/types/Inputs/TouchControllerFake.d.ts +29 -29
  141. package/dist/types/Inputs/XRGamepadController.d.ts +15 -15
  142. package/dist/types/PeerConnectionController/AggregatedStats.d.ts +82 -82
  143. package/dist/types/PeerConnectionController/CandidatePairStats.d.ts +22 -22
  144. package/dist/types/PeerConnectionController/CandidateStat.d.ts +13 -13
  145. package/dist/types/PeerConnectionController/CodecStats.d.ts +14 -14
  146. package/dist/types/PeerConnectionController/DataChannelStats.d.ts +15 -15
  147. package/dist/types/PeerConnectionController/InboundRTPStats.d.ts +141 -141
  148. package/dist/types/PeerConnectionController/InboundTrackStats.d.ts +32 -32
  149. package/dist/types/PeerConnectionController/OutBoundRTPStats.d.ts +23 -23
  150. package/dist/types/PeerConnectionController/PeerConnectionController.d.ts +143 -143
  151. package/dist/types/PeerConnectionController/SessionStats.d.ts +8 -8
  152. package/dist/types/PeerConnectionController/StreamStats.d.ts +9 -9
  153. package/dist/types/PixelStreaming/PixelStreaming.d.ts +271 -271
  154. package/dist/types/UI/OnScreenKeyboard.d.ts +30 -30
  155. package/dist/types/UeInstanceMessage/ResponseController.d.ts +19 -19
  156. package/dist/types/UeInstanceMessage/SendMessageController.d.ts +18 -18
  157. package/dist/types/UeInstanceMessage/StreamMessageController.d.ts +29 -29
  158. package/dist/types/UeInstanceMessage/ToStreamerMessagesController.d.ts +32 -32
  159. package/dist/types/Util/EventEmitter.d.ts +429 -429
  160. package/dist/types/Util/FileUtil.d.ts +32 -32
  161. package/dist/types/Util/IURLSearchParams.d.ts +9 -9
  162. package/dist/types/Util/InputCoordTranslator.d.ts +29 -29
  163. package/dist/types/Util/RTCUtils.d.ts +8 -8
  164. package/dist/types/VideoPlayer/StreamController.d.ts +22 -22
  165. package/dist/types/VideoPlayer/VideoPlayer.d.ts +78 -78
  166. package/dist/types/WebRtcPlayer/WebRtcPlayerController.d.ts +379 -379
  167. package/dist/types/WebXR/WebXRController.d.ts +42 -42
  168. package/dist/types/pixelstreamingfrontend.d.ts +23 -23
  169. package/package.json +45 -45
@@ -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
+ }
@@ -1,61 +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
- }
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
+ }
@@ -1,15 +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;
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;
@@ -1,16 +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
+ /**
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,53 +1,53 @@
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
- }
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
+ }
@@ -1,5 +1,5 @@
1
- interface ICodeToKeyCode {
2
- [key: string]: number;
3
- }
4
- export declare const CodeToKeyCode: ICodeToKeyCode;
5
- export {};
1
+ interface ICodeToKeyCode {
2
+ [key: string]: number;
3
+ }
4
+ export declare const CodeToKeyCode: ICodeToKeyCode;
5
+ export {};
@@ -1,34 +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
+ 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
+ }