@codexo/exojs 2.1.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.
- package/CHANGELOG.md +119 -0
- package/README.md +137 -0
- package/dist/esm/audio/AbstractMedia.d.ts +45 -0
- package/dist/esm/audio/AbstractMedia.js +98 -0
- package/dist/esm/audio/AbstractMedia.js.map +1 -0
- package/dist/esm/audio/AudioAnalyser.d.ts +30 -0
- package/dist/esm/audio/AudioAnalyser.js +82 -0
- package/dist/esm/audio/AudioAnalyser.js.map +1 -0
- package/dist/esm/audio/Media.d.ts +25 -0
- package/dist/esm/audio/Music.d.ts +20 -0
- package/dist/esm/audio/Music.js +118 -0
- package/dist/esm/audio/Music.js.map +1 -0
- package/dist/esm/audio/Sound.d.ts +56 -0
- package/dist/esm/audio/Sound.js +393 -0
- package/dist/esm/audio/Sound.js.map +1 -0
- package/dist/esm/audio/audio-context.d.ts +11 -0
- package/dist/esm/audio/audio-context.js +115 -0
- package/dist/esm/audio/audio-context.js.map +1 -0
- package/dist/esm/audio/index.d.ts +6 -0
- package/dist/esm/core/Application.d.ts +76 -0
- package/dist/esm/core/Application.js +198 -0
- package/dist/esm/core/Application.js.map +1 -0
- package/dist/esm/core/Bounds.d.ts +19 -0
- package/dist/esm/core/Bounds.js +61 -0
- package/dist/esm/core/Bounds.js.map +1 -0
- package/dist/esm/core/Clock.d.ts +18 -0
- package/dist/esm/core/Clock.js +67 -0
- package/dist/esm/core/Clock.js.map +1 -0
- package/dist/esm/core/Color.d.ts +176 -0
- package/dist/esm/core/Color.js +261 -0
- package/dist/esm/core/Color.js.map +1 -0
- package/dist/esm/core/Quadtree.d.ts +20 -0
- package/dist/esm/core/Quadtree.js +84 -0
- package/dist/esm/core/Quadtree.js.map +1 -0
- package/dist/esm/core/Scene.d.ts +83 -0
- package/dist/esm/core/Scene.js +82 -0
- package/dist/esm/core/Scene.js.map +1 -0
- package/dist/esm/core/SceneManager.d.ts +66 -0
- package/dist/esm/core/SceneManager.js +395 -0
- package/dist/esm/core/SceneManager.js.map +1 -0
- package/dist/esm/core/SceneNode.d.ts +58 -0
- package/dist/esm/core/SceneNode.js +176 -0
- package/dist/esm/core/SceneNode.js.map +1 -0
- package/dist/esm/core/Signal.d.ts +18 -0
- package/dist/esm/core/Signal.js +61 -0
- package/dist/esm/core/Signal.js.map +1 -0
- package/dist/esm/core/Time.d.ts +38 -0
- package/dist/esm/core/Time.js +106 -0
- package/dist/esm/core/Time.js.map +1 -0
- package/dist/esm/core/Timer.d.ts +12 -0
- package/dist/esm/core/Timer.js +33 -0
- package/dist/esm/core/Timer.js.map +1 -0
- package/dist/esm/core/index.d.ts +13 -0
- package/dist/esm/core/types.d.ts +29 -0
- package/dist/esm/core/utils.d.ts +22 -0
- package/dist/esm/core/utils.js +136 -0
- package/dist/esm/core/utils.js.map +1 -0
- package/dist/esm/index.d.ts +8 -0
- package/dist/esm/index.js +134 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/input/ArcadeStickGamepadMapping.d.ts +5 -0
- package/dist/esm/input/ArcadeStickGamepadMapping.js +29 -0
- package/dist/esm/input/ArcadeStickGamepadMapping.js.map +1 -0
- package/dist/esm/input/GameCubeGamepadMapping.d.ts +5 -0
- package/dist/esm/input/GameCubeGamepadMapping.js +12 -0
- package/dist/esm/input/GameCubeGamepadMapping.js.map +1 -0
- package/dist/esm/input/Gamepad.d.ts +45 -0
- package/dist/esm/input/Gamepad.js +150 -0
- package/dist/esm/input/Gamepad.js.map +1 -0
- package/dist/esm/input/GamepadChannels.d.ts +39 -0
- package/dist/esm/input/GamepadChannels.js +43 -0
- package/dist/esm/input/GamepadChannels.js.map +1 -0
- package/dist/esm/input/GamepadControl.d.ts +15 -0
- package/dist/esm/input/GamepadControl.js +24 -0
- package/dist/esm/input/GamepadControl.js.map +1 -0
- package/dist/esm/input/GamepadDefinitions.d.ts +31 -0
- package/dist/esm/input/GamepadDefinitions.js +175 -0
- package/dist/esm/input/GamepadDefinitions.js.map +1 -0
- package/dist/esm/input/GamepadMapping.d.ts +23 -0
- package/dist/esm/input/GamepadMapping.js +30 -0
- package/dist/esm/input/GamepadMapping.js.map +1 -0
- package/dist/esm/input/GamepadPromptLayouts.d.ts +9 -0
- package/dist/esm/input/GamepadPromptLayouts.js +140 -0
- package/dist/esm/input/GamepadPromptLayouts.js.map +1 -0
- package/dist/esm/input/GenericDualAnalogGamepadMapping.d.ts +5 -0
- package/dist/esm/input/GenericDualAnalogGamepadMapping.js +53 -0
- package/dist/esm/input/GenericDualAnalogGamepadMapping.js.map +1 -0
- package/dist/esm/input/Input.d.ts +28 -0
- package/dist/esm/input/Input.js +67 -0
- package/dist/esm/input/Input.js.map +1 -0
- package/dist/esm/input/InputManager.d.ts +76 -0
- package/dist/esm/input/InputManager.js +342 -0
- package/dist/esm/input/InputManager.js.map +1 -0
- package/dist/esm/input/JoyConLeftGamepadMapping.d.ts +5 -0
- package/dist/esm/input/JoyConLeftGamepadMapping.js +12 -0
- package/dist/esm/input/JoyConLeftGamepadMapping.js.map +1 -0
- package/dist/esm/input/JoyConRightGamepadMapping.d.ts +5 -0
- package/dist/esm/input/JoyConRightGamepadMapping.js +12 -0
- package/dist/esm/input/JoyConRightGamepadMapping.js.map +1 -0
- package/dist/esm/input/PlayStationGamepadMapping.d.ts +5 -0
- package/dist/esm/input/PlayStationGamepadMapping.js +12 -0
- package/dist/esm/input/PlayStationGamepadMapping.js.map +1 -0
- package/dist/esm/input/Pointer.d.ts +52 -0
- package/dist/esm/input/Pointer.js +118 -0
- package/dist/esm/input/Pointer.js.map +1 -0
- package/dist/esm/input/SteamControllerGamepadMapping.d.ts +5 -0
- package/dist/esm/input/SteamControllerGamepadMapping.js +12 -0
- package/dist/esm/input/SteamControllerGamepadMapping.js.map +1 -0
- package/dist/esm/input/SwitchProGamepadMapping.d.ts +5 -0
- package/dist/esm/input/SwitchProGamepadMapping.js +12 -0
- package/dist/esm/input/SwitchProGamepadMapping.js.map +1 -0
- package/dist/esm/input/XboxGamepadMapping.d.ts +5 -0
- package/dist/esm/input/XboxGamepadMapping.js +12 -0
- package/dist/esm/input/XboxGamepadMapping.js.map +1 -0
- package/dist/esm/input/index.d.ts +19 -0
- package/dist/esm/input/types.d.ts +111 -0
- package/dist/esm/input/types.js +111 -0
- package/dist/esm/input/types.js.map +1 -0
- package/dist/esm/math/AbstractVector.d.ts +33 -0
- package/dist/esm/math/AbstractVector.js +106 -0
- package/dist/esm/math/AbstractVector.js.map +1 -0
- package/dist/esm/math/Circle.d.ts +41 -0
- package/dist/esm/math/Circle.js +134 -0
- package/dist/esm/math/Circle.js.map +1 -0
- package/dist/esm/math/CircleLike.d.ts +5 -0
- package/dist/esm/math/Collision.d.ts +28 -0
- package/dist/esm/math/Ellipse.d.ts +37 -0
- package/dist/esm/math/Ellipse.js +109 -0
- package/dist/esm/math/Ellipse.js.map +1 -0
- package/dist/esm/math/EllipseLike.d.ts +6 -0
- package/dist/esm/math/Flags.d.ts +12 -0
- package/dist/esm/math/Flags.js +41 -0
- package/dist/esm/math/Flags.js.map +1 -0
- package/dist/esm/math/Interval.d.ts +16 -0
- package/dist/esm/math/Interval.js +43 -0
- package/dist/esm/math/Interval.js.map +1 -0
- package/dist/esm/math/Line.d.ts +36 -0
- package/dist/esm/math/Line.js +111 -0
- package/dist/esm/math/Line.js.map +1 -0
- package/dist/esm/math/LineLike.d.ts +6 -0
- package/dist/esm/math/Matrix.d.ts +32 -0
- package/dist/esm/math/Matrix.js +125 -0
- package/dist/esm/math/Matrix.js.map +1 -0
- package/dist/esm/math/ObservableSize.d.ts +16 -0
- package/dist/esm/math/ObservableSize.js +55 -0
- package/dist/esm/math/ObservableSize.js.map +1 -0
- package/dist/esm/math/ObservableVector.d.ts +21 -0
- package/dist/esm/math/ObservableVector.js +71 -0
- package/dist/esm/math/ObservableVector.js.map +1 -0
- package/dist/esm/math/PointLike.d.ts +4 -0
- package/dist/esm/math/PolarVector.d.ts +8 -0
- package/dist/esm/math/PolarVector.js +17 -0
- package/dist/esm/math/PolarVector.js.map +1 -0
- package/dist/esm/math/Polygon.d.ts +38 -0
- package/dist/esm/math/Polygon.js +161 -0
- package/dist/esm/math/Polygon.js.map +1 -0
- package/dist/esm/math/PolygonLike.d.ts +6 -0
- package/dist/esm/math/Random.d.ts +15 -0
- package/dist/esm/math/Random.js +72 -0
- package/dist/esm/math/Random.js.map +1 -0
- package/dist/esm/math/Rectangle.d.ts +48 -0
- package/dist/esm/math/Rectangle.js +205 -0
- package/dist/esm/math/Rectangle.js.map +1 -0
- package/dist/esm/math/RectangleLike.d.ts +6 -0
- package/dist/esm/math/Segment.d.ts +25 -0
- package/dist/esm/math/Segment.js +77 -0
- package/dist/esm/math/Segment.js.map +1 -0
- package/dist/esm/math/ShapeLike.d.ts +4 -0
- package/dist/esm/math/Size.d.ts +24 -0
- package/dist/esm/math/Size.js +69 -0
- package/dist/esm/math/Size.js.map +1 -0
- package/dist/esm/math/Transformable.d.ts +47 -0
- package/dist/esm/math/Transformable.js +142 -0
- package/dist/esm/math/Transformable.js.map +1 -0
- package/dist/esm/math/Vector.d.ts +28 -0
- package/dist/esm/math/Vector.js +77 -0
- package/dist/esm/math/Vector.js.map +1 -0
- package/dist/esm/math/collision-detection.d.ts +41 -0
- package/dist/esm/math/collision-detection.js +394 -0
- package/dist/esm/math/collision-detection.js.map +1 -0
- package/dist/esm/math/collision-primitives.d.ts +39 -0
- package/dist/esm/math/collision-primitives.js +164 -0
- package/dist/esm/math/collision-primitives.js.map +1 -0
- package/dist/esm/math/geometry.d.ts +8 -0
- package/dist/esm/math/geometry.js +195 -0
- package/dist/esm/math/geometry.js.map +1 -0
- package/dist/esm/math/index.d.ts +27 -0
- package/dist/esm/math/utils.d.ts +21 -0
- package/dist/esm/math/utils.js +54 -0
- package/dist/esm/math/utils.js.map +1 -0
- package/dist/esm/particles/Particle.d.ts +40 -0
- package/dist/esm/particles/Particle.js +108 -0
- package/dist/esm/particles/Particle.js.map +1 -0
- package/dist/esm/particles/ParticleProperties.d.ts +14 -0
- package/dist/esm/particles/ParticleSystem.d.ts +43 -0
- package/dist/esm/particles/ParticleSystem.js +185 -0
- package/dist/esm/particles/ParticleSystem.js.map +1 -0
- package/dist/esm/particles/affectors/ColorAffector.d.ts +17 -0
- package/dist/esm/particles/affectors/ColorAffector.js +40 -0
- package/dist/esm/particles/affectors/ColorAffector.js.map +1 -0
- package/dist/esm/particles/affectors/ForceAffector.d.ts +13 -0
- package/dist/esm/particles/affectors/ForceAffector.js +27 -0
- package/dist/esm/particles/affectors/ForceAffector.js.map +1 -0
- package/dist/esm/particles/affectors/ParticleAffector.d.ts +6 -0
- package/dist/esm/particles/affectors/ScaleAffector.d.ts +13 -0
- package/dist/esm/particles/affectors/ScaleAffector.js +27 -0
- package/dist/esm/particles/affectors/ScaleAffector.js.map +1 -0
- package/dist/esm/particles/affectors/TorqueAffector.d.ts +12 -0
- package/dist/esm/particles/affectors/TorqueAffector.js +25 -0
- package/dist/esm/particles/affectors/TorqueAffector.js.map +1 -0
- package/dist/esm/particles/emitters/ParticleEmitter.d.ts +6 -0
- package/dist/esm/particles/emitters/ParticleOptions.d.ts +35 -0
- package/dist/esm/particles/emitters/ParticleOptions.js +84 -0
- package/dist/esm/particles/emitters/ParticleOptions.js.map +1 -0
- package/dist/esm/particles/emitters/UniversalEmitter.d.ts +17 -0
- package/dist/esm/particles/emitters/UniversalEmitter.js +43 -0
- package/dist/esm/particles/emitters/UniversalEmitter.js.map +1 -0
- package/dist/esm/particles/index.d.ts +11 -0
- package/dist/esm/physics/RapierPhysicsWorld.d.ts +136 -0
- package/dist/esm/physics/RapierPhysicsWorld.js +464 -0
- package/dist/esm/physics/RapierPhysicsWorld.js.map +1 -0
- package/dist/esm/physics/index.d.ts +1 -0
- package/dist/esm/rendering/CallbackRenderPass.d.ts +7 -0
- package/dist/esm/rendering/CallbackRenderPass.js +11 -0
- package/dist/esm/rendering/CallbackRenderPass.js.map +1 -0
- package/dist/esm/rendering/Container.d.ts +36 -0
- package/dist/esm/rendering/Container.js +197 -0
- package/dist/esm/rendering/Container.js.map +1 -0
- package/dist/esm/rendering/Drawable.d.ts +16 -0
- package/dist/esm/rendering/Drawable.js +57 -0
- package/dist/esm/rendering/Drawable.js.map +1 -0
- package/dist/esm/rendering/RenderBackendType.d.ts +4 -0
- package/dist/esm/rendering/RenderBackendType.js +8 -0
- package/dist/esm/rendering/RenderBackendType.js.map +1 -0
- package/dist/esm/rendering/RenderNode.d.ts +51 -0
- package/dist/esm/rendering/RenderNode.js +238 -0
- package/dist/esm/rendering/RenderNode.js.map +1 -0
- package/dist/esm/rendering/RenderPass.d.ts +4 -0
- package/dist/esm/rendering/RenderStats.d.ts +12 -0
- package/dist/esm/rendering/RenderStats.js +24 -0
- package/dist/esm/rendering/RenderStats.js.map +1 -0
- package/dist/esm/rendering/RenderTarget.d.ts +34 -0
- package/dist/esm/rendering/RenderTarget.js +105 -0
- package/dist/esm/rendering/RenderTarget.js.map +1 -0
- package/dist/esm/rendering/RenderTargetPass.d.ts +18 -0
- package/dist/esm/rendering/RenderTargetPass.js +27 -0
- package/dist/esm/rendering/RenderTargetPass.js.map +1 -0
- package/dist/esm/rendering/Renderer.d.ts +15 -0
- package/dist/esm/rendering/RendererRegistry.d.ts +43 -0
- package/dist/esm/rendering/RendererRegistry.js +88 -0
- package/dist/esm/rendering/RendererRegistry.js.map +1 -0
- package/dist/esm/rendering/SceneRenderRuntime.d.ts +29 -0
- package/dist/esm/rendering/View.d.ts +102 -0
- package/dist/esm/rendering/View.js +360 -0
- package/dist/esm/rendering/View.js.map +1 -0
- package/dist/esm/rendering/filters/BlurFilter.d.ts +20 -0
- package/dist/esm/rendering/filters/BlurFilter.js +68 -0
- package/dist/esm/rendering/filters/BlurFilter.js.map +1 -0
- package/dist/esm/rendering/filters/ColorFilter.d.ts +12 -0
- package/dist/esm/rendering/filters/ColorFilter.js +41 -0
- package/dist/esm/rendering/filters/ColorFilter.js.map +1 -0
- package/dist/esm/rendering/filters/Filter.d.ts +5 -0
- package/dist/esm/rendering/filters/Filter.js +5 -0
- package/dist/esm/rendering/filters/Filter.js.map +1 -0
- package/dist/esm/rendering/index.d.ts +52 -0
- package/dist/esm/rendering/primitives/CircleGeometry.d.ts +4 -0
- package/dist/esm/rendering/primitives/CircleGeometry.js +21 -0
- package/dist/esm/rendering/primitives/CircleGeometry.js.map +1 -0
- package/dist/esm/rendering/primitives/DrawableShape.d.ts +11 -0
- package/dist/esm/rendering/primitives/DrawableShape.js +18 -0
- package/dist/esm/rendering/primitives/DrawableShape.js.map +1 -0
- package/dist/esm/rendering/primitives/Geometry.d.ts +13 -0
- package/dist/esm/rendering/primitives/Geometry.js +13 -0
- package/dist/esm/rendering/primitives/Geometry.js.map +1 -0
- package/dist/esm/rendering/primitives/Graphics.d.ts +36 -0
- package/dist/esm/rendering/primitives/Graphics.js +211 -0
- package/dist/esm/rendering/primitives/Graphics.js.map +1 -0
- package/dist/esm/rendering/shader/Shader.d.ts +27 -0
- package/dist/esm/rendering/shader/Shader.js +61 -0
- package/dist/esm/rendering/shader/Shader.js.map +1 -0
- package/dist/esm/rendering/shader/ShaderAttribute.d.ts +9 -0
- package/dist/esm/rendering/shader/ShaderAttribute.js +17 -0
- package/dist/esm/rendering/shader/ShaderAttribute.js.map +1 -0
- package/dist/esm/rendering/shader/ShaderUniform.d.ts +16 -0
- package/dist/esm/rendering/shader/ShaderUniform.js +33 -0
- package/dist/esm/rendering/shader/ShaderUniform.js.map +1 -0
- package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +43 -0
- package/dist/esm/rendering/sprite/AnimatedSprite.js +177 -0
- package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -0
- package/dist/esm/rendering/sprite/Sprite.d.ts +43 -0
- package/dist/esm/rendering/sprite/Sprite.js +169 -0
- package/dist/esm/rendering/sprite/Sprite.js.map +1 -0
- package/dist/esm/rendering/sprite/Spritesheet.d.ts +34 -0
- package/dist/esm/rendering/sprite/Spritesheet.js +87 -0
- package/dist/esm/rendering/sprite/Spritesheet.js.map +1 -0
- package/dist/esm/rendering/text/Text.d.ts +26 -0
- package/dist/esm/rendering/text/Text.js +126 -0
- package/dist/esm/rendering/text/Text.js.map +1 -0
- package/dist/esm/rendering/text/TextStyle.d.ts +65 -0
- package/dist/esm/rendering/text/TextStyle.js +179 -0
- package/dist/esm/rendering/text/TextStyle.js.map +1 -0
- package/dist/esm/rendering/texture/RenderTexture.d.ts +36 -0
- package/dist/esm/rendering/texture/RenderTexture.js +118 -0
- package/dist/esm/rendering/texture/RenderTexture.js.map +1 -0
- package/dist/esm/rendering/texture/Sampler.d.ts +29 -0
- package/dist/esm/rendering/texture/Sampler.js +69 -0
- package/dist/esm/rendering/texture/Sampler.js.map +1 -0
- package/dist/esm/rendering/texture/Texture.d.ts +52 -0
- package/dist/esm/rendering/texture/Texture.js +171 -0
- package/dist/esm/rendering/texture/Texture.js.map +1 -0
- package/dist/esm/rendering/types.d.ts +68 -0
- package/dist/esm/rendering/types.js +79 -0
- package/dist/esm/rendering/types.js.map +1 -0
- package/dist/esm/rendering/utils.d.ts +9 -0
- package/dist/esm/rendering/utils.js +39 -0
- package/dist/esm/rendering/utils.js.map +1 -0
- package/dist/esm/rendering/video/Video.d.ts +62 -0
- package/dist/esm/rendering/video/Video.js +288 -0
- package/dist/esm/rendering/video/Video.js.map +1 -0
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts +49 -0
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js +168 -0
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js.map +1 -0
- package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.d.ts +44 -0
- package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js +59 -0
- package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.d.ts +11 -0
- package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js +110 -0
- package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2PrimitiveRenderer.d.ts +26 -0
- package/dist/esm/rendering/webgl2/WebGl2PrimitiveRenderer.js +211 -0
- package/dist/esm/rendering/webgl2/WebGl2PrimitiveRenderer.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts +26 -0
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js +52 -0
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2RenderManager.d.ts +99 -0
- package/dist/esm/rendering/webgl2/WebGl2RenderManager.js +592 -0
- package/dist/esm/rendering/webgl2/WebGl2RenderManager.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2RendererRuntime.d.ts +15 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.d.ts +17 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js +55 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.d.ts +3 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.js +59 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderRuntime.d.ts +2 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderRuntime.js +154 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderRuntime.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts +11 -0
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js +82 -0
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.d.ts +40 -0
- package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.js +68 -0
- package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/particle.frag.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/particle.frag.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/particle.vert.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/particle.vert.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/primitive.frag.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/primitive.frag.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/primitive.vert.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/primitive.vert.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/sprite.frag.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/sprite.frag.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/sprite.vert.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/sprite.vert.js.map +1 -0
- package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.d.ts +28 -0
- package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js +52 -0
- package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuBlendState.d.ts +6 -0
- package/dist/esm/rendering/webgpu/WebGpuBlendState.js +79 -0
- package/dist/esm/rendering/webgpu/WebGpuBlendState.js.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.d.ts +33 -0
- package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js +423 -0
- package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuPrimitiveRenderer.d.ts +43 -0
- package/dist/esm/rendering/webgpu/WebGpuPrimitiveRenderer.js +425 -0
- package/dist/esm/rendering/webgpu/WebGpuPrimitiveRenderer.js.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuRenderManager.d.ts +111 -0
- package/dist/esm/rendering/webgpu/WebGpuRenderManager.js +763 -0
- package/dist/esm/rendering/webgpu/WebGpuRenderManager.js.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuRendererRuntime.d.ts +8 -0
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +33 -0
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +488 -0
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -0
- package/dist/esm/resources/AbstractAssetFactory.d.ts +10 -0
- package/dist/esm/resources/AbstractAssetFactory.js +26 -0
- package/dist/esm/resources/AbstractAssetFactory.js.map +1 -0
- package/dist/esm/resources/AssetFactory.d.ts +6 -0
- package/dist/esm/resources/AssetManifest.d.ts +28 -0
- package/dist/esm/resources/AssetManifest.js +64 -0
- package/dist/esm/resources/AssetManifest.js.map +1 -0
- package/dist/esm/resources/CacheFirstStrategy.d.ts +5 -0
- package/dist/esm/resources/CacheFirstStrategy.js +34 -0
- package/dist/esm/resources/CacheFirstStrategy.js.map +1 -0
- package/dist/esm/resources/CacheStore.d.ts +7 -0
- package/dist/esm/resources/CacheStrategy.d.ts +12 -0
- package/dist/esm/resources/Database.d.ts +13 -0
- package/dist/esm/resources/FactoryRegistry.d.ts +9 -0
- package/dist/esm/resources/FactoryRegistry.js +44 -0
- package/dist/esm/resources/FactoryRegistry.js.map +1 -0
- package/dist/esm/resources/IndexedDbDatabase.d.ts +21 -0
- package/dist/esm/resources/IndexedDbDatabase.js +139 -0
- package/dist/esm/resources/IndexedDbDatabase.js.map +1 -0
- package/dist/esm/resources/IndexedDbStore.d.ts +16 -0
- package/dist/esm/resources/IndexedDbStore.js +31 -0
- package/dist/esm/resources/IndexedDbStore.js.map +1 -0
- package/dist/esm/resources/Loader.d.ts +88 -0
- package/dist/esm/resources/Loader.js +597 -0
- package/dist/esm/resources/Loader.js.map +1 -0
- package/dist/esm/resources/NetworkOnlyStrategy.d.ts +5 -0
- package/dist/esm/resources/NetworkOnlyStrategy.js +12 -0
- package/dist/esm/resources/NetworkOnlyStrategy.js.map +1 -0
- package/dist/esm/resources/factories/BinaryFactory.d.ts +6 -0
- package/dist/esm/resources/factories/BinaryFactory.js +17 -0
- package/dist/esm/resources/factories/BinaryFactory.js.map +1 -0
- package/dist/esm/resources/factories/FontFactory.d.ts +13 -0
- package/dist/esm/resources/factories/FontFactory.js +39 -0
- package/dist/esm/resources/factories/FontFactory.js.map +1 -0
- package/dist/esm/resources/factories/ImageFactory.d.ts +10 -0
- package/dist/esm/resources/factories/ImageFactory.js +38 -0
- package/dist/esm/resources/factories/ImageFactory.js.map +1 -0
- package/dist/esm/resources/factories/JsonFactory.d.ts +6 -0
- package/dist/esm/resources/factories/JsonFactory.js +17 -0
- package/dist/esm/resources/factories/JsonFactory.js.map +1 -0
- package/dist/esm/resources/factories/MusicFactory.d.ts +16 -0
- package/dist/esm/resources/factories/MusicFactory.js +40 -0
- package/dist/esm/resources/factories/MusicFactory.js.map +1 -0
- package/dist/esm/resources/factories/SoundFactory.d.ts +14 -0
- package/dist/esm/resources/factories/SoundFactory.js +25 -0
- package/dist/esm/resources/factories/SoundFactory.js.map +1 -0
- package/dist/esm/resources/factories/SvgFactory.d.ts +6 -0
- package/dist/esm/resources/factories/SvgFactory.js +37 -0
- package/dist/esm/resources/factories/SvgFactory.js.map +1 -0
- package/dist/esm/resources/factories/TextFactory.d.ts +6 -0
- package/dist/esm/resources/factories/TextFactory.js +17 -0
- package/dist/esm/resources/factories/TextFactory.js.map +1 -0
- package/dist/esm/resources/factories/TextureFactory.d.ts +13 -0
- package/dist/esm/resources/factories/TextureFactory.js +40 -0
- package/dist/esm/resources/factories/TextureFactory.js.map +1 -0
- package/dist/esm/resources/factories/VideoFactory.d.ts +18 -0
- package/dist/esm/resources/factories/VideoFactory.js +43 -0
- package/dist/esm/resources/factories/VideoFactory.js.map +1 -0
- package/dist/esm/resources/factories/VttFactory.d.ts +6 -0
- package/dist/esm/resources/factories/VttFactory.js +60 -0
- package/dist/esm/resources/factories/VttFactory.js.map +1 -0
- package/dist/esm/resources/factories/WasmFactory.d.ts +6 -0
- package/dist/esm/resources/factories/WasmFactory.js +17 -0
- package/dist/esm/resources/factories/WasmFactory.js.map +1 -0
- package/dist/esm/resources/index.d.ts +26 -0
- package/dist/esm/resources/tokens.d.ts +30 -0
- package/dist/esm/resources/tokens.js +33 -0
- package/dist/esm/resources/tokens.js.map +1 -0
- package/dist/esm/resources/utils.d.ts +1 -0
- package/dist/esm/resources/utils.js +129 -0
- package/dist/esm/resources/utils.js.map +1 -0
- package/dist/esm/vendor/webgl-debug.js +1160 -0
- package/dist/esm/vendor/webgl-debug.js.map +1 -0
- package/dist/exo.d.ts +4748 -0
- package/dist/exo.esm.js +16850 -0
- package/dist/exo.esm.js.map +1 -0
- package/dist/exo.esm.min.js +2 -0
- package/dist/exo.esm.min.js.map +1 -0
- package/dist/exo.global.js +17067 -0
- package/dist/exo.global.js.map +1 -0
- package/dist/exo.global.min.js +2 -0
- package/dist/exo.global.min.js.map +1 -0
- package/package.json +99 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { Signal } from '../core/Signal.js';
|
|
2
|
+
import { Timer } from '../core/Timer.js';
|
|
3
|
+
import { milliseconds } from '../core/utils.js';
|
|
4
|
+
|
|
5
|
+
class Input {
|
|
6
|
+
constructor(channels, { onStart, onStop, onActive, onTrigger, context, threshold } = {}) {
|
|
7
|
+
this.channels = new Set();
|
|
8
|
+
this.valueState = 0;
|
|
9
|
+
this.onStart = new Signal();
|
|
10
|
+
this.onStop = new Signal();
|
|
11
|
+
this.onActive = new Signal();
|
|
12
|
+
this.onTrigger = new Signal();
|
|
13
|
+
this.channels = new Set(Array.isArray(channels) ? channels : [channels]);
|
|
14
|
+
this.triggerTimer = new Timer(milliseconds(threshold ?? Input.triggerThreshold));
|
|
15
|
+
if (onStart) {
|
|
16
|
+
this.onStart.add(onStart, context);
|
|
17
|
+
}
|
|
18
|
+
if (onStop) {
|
|
19
|
+
this.onStop.add(onStop, context);
|
|
20
|
+
}
|
|
21
|
+
if (onActive) {
|
|
22
|
+
this.onActive.add(onActive, context);
|
|
23
|
+
}
|
|
24
|
+
if (onTrigger) {
|
|
25
|
+
this.onTrigger.add(onTrigger, context);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
get activeChannels() {
|
|
29
|
+
return this.channels;
|
|
30
|
+
}
|
|
31
|
+
get value() {
|
|
32
|
+
return this.valueState;
|
|
33
|
+
}
|
|
34
|
+
update(channels) {
|
|
35
|
+
this.valueState = 0;
|
|
36
|
+
for (const channel of this.channels) {
|
|
37
|
+
this.valueState = Math.max(channels[channel], this.valueState);
|
|
38
|
+
}
|
|
39
|
+
if (this.valueState) {
|
|
40
|
+
if (!this.triggerTimer.running) {
|
|
41
|
+
this.triggerTimer.restart();
|
|
42
|
+
this.onStart.dispatch(this.valueState);
|
|
43
|
+
}
|
|
44
|
+
this.onActive.dispatch(this.valueState);
|
|
45
|
+
}
|
|
46
|
+
else if (this.triggerTimer.running) {
|
|
47
|
+
this.onStop.dispatch(this.valueState);
|
|
48
|
+
if (!this.triggerTimer.expired) {
|
|
49
|
+
this.onTrigger.dispatch(this.valueState);
|
|
50
|
+
}
|
|
51
|
+
this.triggerTimer.stop();
|
|
52
|
+
}
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
destroy() {
|
|
56
|
+
this.channels.clear();
|
|
57
|
+
this.triggerTimer.destroy();
|
|
58
|
+
this.onStart.destroy();
|
|
59
|
+
this.onStop.destroy();
|
|
60
|
+
this.onActive.destroy();
|
|
61
|
+
this.onTrigger.destroy();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
Input.triggerThreshold = 300;
|
|
65
|
+
|
|
66
|
+
export { Input };
|
|
67
|
+
//# sourceMappingURL=Input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Input.js","sources":["../../../../src/input/Input.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;MAkBa,KAAK,CAAA;AAYd,IAAA,WAAA,CAAmB,QAA4C,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,KAAmB,EAAE,EAAA;AAT/H,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,GAAG,EAAU;QAErC,IAAA,CAAA,UAAU,GAAG,CAAC;AAEN,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,MAAM,EAAY;AAChC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,MAAM,EAAY;AAC/B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,MAAM,EAAY;AACjC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,MAAM,EAAY;QAG9C,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;AACxE,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,SAAS,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAEhF,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;QACtC;QAEA,IAAI,MAAM,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;QACpC;QAEA,IAAI,QAAQ,EAAE;YACV,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC;QACxC;QAEA,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC;QAC1C;IACJ;AAEA,IAAA,IAAW,cAAc,GAAA;QACrB,OAAO,IAAI,CAAC,QAAQ;IACxB;AAEA,IAAA,IAAW,KAAK,GAAA;QACZ,OAAO,IAAI,CAAC,UAAU;IAC1B;AAEO,IAAA,MAAM,CAAC,QAAsB,EAAA;AAChC,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC;AAEnB,QAAA,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjC,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC;QAClE;AAEA,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;AAC5B,gBAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;gBAC3B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;YAC1C;YAEA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;QAC3C;AAAO,aAAA,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;AAErC,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;gBAC5B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;YAC5C;AAEA,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;QAC5B;AAEA,QAAA,OAAO,IAAI;IACf;IAEO,OAAO,GAAA;AACV,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;AACrB,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;AAE3B,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AACtB,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AACvB,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;IAC5B;;AA3Ec,KAAA,CAAA,gBAAgB,GAAG,GAAH;;;;"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Vector } from 'math/Vector';
|
|
2
|
+
import { Signal } from 'core/Signal';
|
|
3
|
+
import { Gamepad } from './Gamepad';
|
|
4
|
+
import { Pointer } from './Pointer';
|
|
5
|
+
import type { Application } from 'core/Application';
|
|
6
|
+
import type { Input } from './Input';
|
|
7
|
+
export declare class InputManager {
|
|
8
|
+
private readonly canvas;
|
|
9
|
+
private readonly channels;
|
|
10
|
+
private readonly inputs;
|
|
11
|
+
private readonly pointers;
|
|
12
|
+
private readonly gamepadsValue;
|
|
13
|
+
private readonly gamepadsByIndex;
|
|
14
|
+
private readonly gamepadSlotsActive;
|
|
15
|
+
private readonly wheelOffset;
|
|
16
|
+
private readonly flags;
|
|
17
|
+
private readonly channelsPressed;
|
|
18
|
+
private readonly channelsReleased;
|
|
19
|
+
private readonly gamepadDefinitions;
|
|
20
|
+
private canvasFocusedValue;
|
|
21
|
+
private pointerDistanceThreshold;
|
|
22
|
+
private readonly keyDownHandler;
|
|
23
|
+
private readonly keyUpHandler;
|
|
24
|
+
private readonly canvasFocusHandler;
|
|
25
|
+
private readonly canvasBlurHandler;
|
|
26
|
+
private readonly windowBlurHandler;
|
|
27
|
+
private readonly mouseWheelHandler;
|
|
28
|
+
private readonly pointerOverHandler;
|
|
29
|
+
private readonly pointerLeaveHandler;
|
|
30
|
+
private readonly pointerDownHandler;
|
|
31
|
+
private readonly pointerMoveHandler;
|
|
32
|
+
private readonly pointerUpHandler;
|
|
33
|
+
private readonly pointerCancelHandler;
|
|
34
|
+
readonly onPointerEnter: Signal<[Pointer]>;
|
|
35
|
+
readonly onPointerLeave: Signal<[Pointer]>;
|
|
36
|
+
readonly onPointerDown: Signal<[Pointer]>;
|
|
37
|
+
readonly onPointerMove: Signal<[Pointer]>;
|
|
38
|
+
readonly onPointerUp: Signal<[Pointer]>;
|
|
39
|
+
readonly onPointerTap: Signal<[Pointer]>;
|
|
40
|
+
readonly onPointerSwipe: Signal<[Pointer]>;
|
|
41
|
+
readonly onPointerCancel: Signal<[Pointer]>;
|
|
42
|
+
readonly onMouseWheel: Signal<[Vector]>;
|
|
43
|
+
readonly onKeyDown: Signal<[number]>;
|
|
44
|
+
readonly onKeyUp: Signal<[number]>;
|
|
45
|
+
readonly onGamepadConnected: Signal<[Gamepad, Gamepad[]]>;
|
|
46
|
+
readonly onGamepadDisconnected: Signal<[Gamepad, Gamepad[]]>;
|
|
47
|
+
readonly onGamepadUpdated: Signal<[Gamepad, Gamepad[]]>;
|
|
48
|
+
constructor(app: Application);
|
|
49
|
+
get pointersInCanvas(): boolean;
|
|
50
|
+
get canvasFocused(): boolean;
|
|
51
|
+
get gamepads(): Array<Gamepad>;
|
|
52
|
+
getGamepad(index: number): Gamepad | null;
|
|
53
|
+
add(inputs: Input | Array<Input>): this;
|
|
54
|
+
remove(inputs: Input | Array<Input>): this;
|
|
55
|
+
clear(destroyInputs?: boolean): this;
|
|
56
|
+
update(): this;
|
|
57
|
+
destroy(): void;
|
|
58
|
+
private handleKeyDown;
|
|
59
|
+
private handleKeyUp;
|
|
60
|
+
private handlePointerOver;
|
|
61
|
+
private handlePointerLeave;
|
|
62
|
+
private handlePointerDown;
|
|
63
|
+
private handlePointerMove;
|
|
64
|
+
private handlePointerUp;
|
|
65
|
+
private handlePointerCancel;
|
|
66
|
+
private handleMouseWheel;
|
|
67
|
+
private handleCanvasFocus;
|
|
68
|
+
private handleCanvasBlur;
|
|
69
|
+
private handleWindowBlur;
|
|
70
|
+
private addEventListeners;
|
|
71
|
+
private removeEventListeners;
|
|
72
|
+
private updateGamepads;
|
|
73
|
+
private insertGamepadByIndex;
|
|
74
|
+
private updateEvents;
|
|
75
|
+
private updatePointerEvents;
|
|
76
|
+
}
|
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
import { Flags } from '../math/Flags.js';
|
|
2
|
+
import { Vector } from '../math/Vector.js';
|
|
3
|
+
import { Signal } from '../core/Signal.js';
|
|
4
|
+
import { getDistance } from '../math/utils.js';
|
|
5
|
+
import { stopEvent } from '../core/utils.js';
|
|
6
|
+
import { ChannelSize } from './types.js';
|
|
7
|
+
import { Gamepad } from './Gamepad.js';
|
|
8
|
+
import { PointerState, Pointer, PointerStateFlag } from './Pointer.js';
|
|
9
|
+
import { builtInGamepadDefinitions, resolveGamepadDefinition } from './GamepadDefinitions.js';
|
|
10
|
+
|
|
11
|
+
var InputManagerFlag;
|
|
12
|
+
(function (InputManagerFlag) {
|
|
13
|
+
InputManagerFlag[InputManagerFlag["None"] = 0] = "None";
|
|
14
|
+
InputManagerFlag[InputManagerFlag["KeyDown"] = 1] = "KeyDown";
|
|
15
|
+
InputManagerFlag[InputManagerFlag["KeyUp"] = 2] = "KeyUp";
|
|
16
|
+
InputManagerFlag[InputManagerFlag["MouseWheel"] = 4] = "MouseWheel";
|
|
17
|
+
InputManagerFlag[InputManagerFlag["PointerUpdate"] = 8] = "PointerUpdate";
|
|
18
|
+
})(InputManagerFlag || (InputManagerFlag = {}));
|
|
19
|
+
class InputManager {
|
|
20
|
+
constructor(app) {
|
|
21
|
+
this.channels = new Float32Array(ChannelSize.Container);
|
|
22
|
+
this.inputs = new Set();
|
|
23
|
+
this.pointers = {};
|
|
24
|
+
this.gamepadsValue = [];
|
|
25
|
+
this.gamepadsByIndex = new Map();
|
|
26
|
+
this.gamepadSlotsActive = new Uint8Array(ChannelSize.Category / ChannelSize.Gamepad);
|
|
27
|
+
this.wheelOffset = new Vector();
|
|
28
|
+
this.flags = new Flags();
|
|
29
|
+
this.channelsPressed = [];
|
|
30
|
+
this.channelsReleased = [];
|
|
31
|
+
this.keyDownHandler = this.handleKeyDown.bind(this);
|
|
32
|
+
this.keyUpHandler = this.handleKeyUp.bind(this);
|
|
33
|
+
this.canvasFocusHandler = this.handleCanvasFocus.bind(this);
|
|
34
|
+
this.canvasBlurHandler = this.handleCanvasBlur.bind(this);
|
|
35
|
+
this.windowBlurHandler = this.handleWindowBlur.bind(this);
|
|
36
|
+
this.mouseWheelHandler = this.handleMouseWheel.bind(this);
|
|
37
|
+
this.pointerOverHandler = this.handlePointerOver.bind(this);
|
|
38
|
+
this.pointerLeaveHandler = this.handlePointerLeave.bind(this);
|
|
39
|
+
this.pointerDownHandler = this.handlePointerDown.bind(this);
|
|
40
|
+
this.pointerMoveHandler = this.handlePointerMove.bind(this);
|
|
41
|
+
this.pointerUpHandler = this.handlePointerUp.bind(this);
|
|
42
|
+
this.pointerCancelHandler = this.handlePointerCancel.bind(this);
|
|
43
|
+
this.onPointerEnter = new Signal();
|
|
44
|
+
this.onPointerLeave = new Signal();
|
|
45
|
+
this.onPointerDown = new Signal();
|
|
46
|
+
this.onPointerMove = new Signal();
|
|
47
|
+
this.onPointerUp = new Signal();
|
|
48
|
+
this.onPointerTap = new Signal();
|
|
49
|
+
this.onPointerSwipe = new Signal();
|
|
50
|
+
this.onPointerCancel = new Signal();
|
|
51
|
+
this.onMouseWheel = new Signal();
|
|
52
|
+
this.onKeyDown = new Signal();
|
|
53
|
+
this.onKeyUp = new Signal();
|
|
54
|
+
this.onGamepadConnected = new Signal();
|
|
55
|
+
this.onGamepadDisconnected = new Signal();
|
|
56
|
+
this.onGamepadUpdated = new Signal();
|
|
57
|
+
const { gamepadDefinitions = [], pointerDistanceThreshold } = app.options;
|
|
58
|
+
this.canvas = app.canvas;
|
|
59
|
+
this.canvasFocusedValue = document.activeElement === this.canvas;
|
|
60
|
+
this.pointerDistanceThreshold = pointerDistanceThreshold;
|
|
61
|
+
this.gamepadDefinitions = [...gamepadDefinitions, ...builtInGamepadDefinitions];
|
|
62
|
+
this.addEventListeners();
|
|
63
|
+
}
|
|
64
|
+
get pointersInCanvas() {
|
|
65
|
+
return Object.values(this.pointers).some((pointer) => (pointer.currentState !== PointerState.OutsideCanvas
|
|
66
|
+
&& pointer.currentState !== PointerState.Cancelled));
|
|
67
|
+
}
|
|
68
|
+
get canvasFocused() {
|
|
69
|
+
return this.canvasFocusedValue;
|
|
70
|
+
}
|
|
71
|
+
get gamepads() {
|
|
72
|
+
return this.gamepadsValue;
|
|
73
|
+
}
|
|
74
|
+
getGamepad(index) {
|
|
75
|
+
return this.gamepadsByIndex.get(index) ?? null;
|
|
76
|
+
}
|
|
77
|
+
add(inputs) {
|
|
78
|
+
if (Array.isArray(inputs)) {
|
|
79
|
+
inputs.forEach((input) => this.add(input));
|
|
80
|
+
return this;
|
|
81
|
+
}
|
|
82
|
+
this.inputs.add(inputs);
|
|
83
|
+
return this;
|
|
84
|
+
}
|
|
85
|
+
remove(inputs) {
|
|
86
|
+
if (Array.isArray(inputs)) {
|
|
87
|
+
inputs.forEach((input) => this.remove(input));
|
|
88
|
+
return this;
|
|
89
|
+
}
|
|
90
|
+
this.inputs.delete(inputs);
|
|
91
|
+
return this;
|
|
92
|
+
}
|
|
93
|
+
clear(destroyInputs = false) {
|
|
94
|
+
if (destroyInputs) {
|
|
95
|
+
for (const input of this.inputs) {
|
|
96
|
+
input.destroy();
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
this.inputs.clear();
|
|
100
|
+
return this;
|
|
101
|
+
}
|
|
102
|
+
update() {
|
|
103
|
+
this.updateGamepads();
|
|
104
|
+
for (const input of this.inputs) {
|
|
105
|
+
input.update(this.channels);
|
|
106
|
+
}
|
|
107
|
+
if (this.flags.value !== InputManagerFlag.None) {
|
|
108
|
+
this.updateEvents();
|
|
109
|
+
}
|
|
110
|
+
return this;
|
|
111
|
+
}
|
|
112
|
+
destroy() {
|
|
113
|
+
this.removeEventListeners();
|
|
114
|
+
for (const pointer of Object.values(this.pointers)) {
|
|
115
|
+
pointer.destroy();
|
|
116
|
+
}
|
|
117
|
+
for (const gamepad of this.gamepadsValue) {
|
|
118
|
+
gamepad.destroy();
|
|
119
|
+
}
|
|
120
|
+
this.inputs.clear();
|
|
121
|
+
this.gamepadsByIndex.clear();
|
|
122
|
+
this.gamepadsValue.length = 0;
|
|
123
|
+
this.channelsPressed.length = 0;
|
|
124
|
+
this.channelsReleased.length = 0;
|
|
125
|
+
this.wheelOffset.destroy();
|
|
126
|
+
this.flags.destroy();
|
|
127
|
+
this.onPointerEnter.destroy();
|
|
128
|
+
this.onPointerLeave.destroy();
|
|
129
|
+
this.onPointerDown.destroy();
|
|
130
|
+
this.onPointerMove.destroy();
|
|
131
|
+
this.onPointerUp.destroy();
|
|
132
|
+
this.onPointerTap.destroy();
|
|
133
|
+
this.onPointerSwipe.destroy();
|
|
134
|
+
this.onPointerCancel.destroy();
|
|
135
|
+
this.onMouseWheel.destroy();
|
|
136
|
+
this.onKeyDown.destroy();
|
|
137
|
+
this.onKeyUp.destroy();
|
|
138
|
+
this.onGamepadConnected.destroy();
|
|
139
|
+
this.onGamepadDisconnected.destroy();
|
|
140
|
+
this.onGamepadUpdated.destroy();
|
|
141
|
+
}
|
|
142
|
+
handleKeyDown(event) {
|
|
143
|
+
const channel = 0 /* ChannelOffset.Keyboard */ + event.keyCode;
|
|
144
|
+
this.channels[channel] = 1;
|
|
145
|
+
this.channelsPressed.push(channel);
|
|
146
|
+
this.flags.push(InputManagerFlag.KeyDown);
|
|
147
|
+
}
|
|
148
|
+
handleKeyUp(event) {
|
|
149
|
+
const channel = 0 /* ChannelOffset.Keyboard */ + event.keyCode;
|
|
150
|
+
this.channels[channel] = 0;
|
|
151
|
+
this.channelsReleased.push(channel);
|
|
152
|
+
this.flags.push(InputManagerFlag.KeyUp);
|
|
153
|
+
}
|
|
154
|
+
handlePointerOver(event) {
|
|
155
|
+
this.pointers[event.pointerId] = new Pointer(event, this.canvas);
|
|
156
|
+
this.flags.push(InputManagerFlag.PointerUpdate);
|
|
157
|
+
}
|
|
158
|
+
handlePointerLeave(event) {
|
|
159
|
+
this.pointers[event.pointerId].handleLeave(event);
|
|
160
|
+
this.flags.push(InputManagerFlag.PointerUpdate);
|
|
161
|
+
}
|
|
162
|
+
handlePointerDown(event) {
|
|
163
|
+
this.canvas.focus();
|
|
164
|
+
this.canvasFocusedValue = true;
|
|
165
|
+
this.pointers[event.pointerId].handlePress(event);
|
|
166
|
+
this.flags.push(InputManagerFlag.PointerUpdate);
|
|
167
|
+
event.preventDefault();
|
|
168
|
+
}
|
|
169
|
+
handlePointerMove(event) {
|
|
170
|
+
this.pointers[event.pointerId].handleMove(event);
|
|
171
|
+
this.flags.push(InputManagerFlag.PointerUpdate);
|
|
172
|
+
}
|
|
173
|
+
handlePointerUp(event) {
|
|
174
|
+
this.pointers[event.pointerId].handleRelease(event);
|
|
175
|
+
this.flags.push(InputManagerFlag.PointerUpdate);
|
|
176
|
+
event.preventDefault();
|
|
177
|
+
}
|
|
178
|
+
handlePointerCancel(event) {
|
|
179
|
+
this.pointers[event.pointerId].handleCancel(event);
|
|
180
|
+
this.flags.push(InputManagerFlag.PointerUpdate);
|
|
181
|
+
}
|
|
182
|
+
handleMouseWheel(event) {
|
|
183
|
+
this.wheelOffset.set(event.deltaX, event.deltaY);
|
|
184
|
+
this.flags.push(InputManagerFlag.MouseWheel);
|
|
185
|
+
if (this.canvasFocusedValue) {
|
|
186
|
+
event.preventDefault();
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
handleCanvasFocus() {
|
|
190
|
+
this.canvasFocusedValue = true;
|
|
191
|
+
}
|
|
192
|
+
handleCanvasBlur() {
|
|
193
|
+
this.canvasFocusedValue = false;
|
|
194
|
+
}
|
|
195
|
+
handleWindowBlur() {
|
|
196
|
+
this.canvasFocusedValue = false;
|
|
197
|
+
}
|
|
198
|
+
addEventListeners() {
|
|
199
|
+
const activeWindow = window;
|
|
200
|
+
const activeListenerOption = { capture: true, passive: false };
|
|
201
|
+
const passiveListenerOption = { capture: true, passive: true };
|
|
202
|
+
activeWindow.addEventListener('keydown', this.keyDownHandler, true);
|
|
203
|
+
activeWindow.addEventListener('keyup', this.keyUpHandler, true);
|
|
204
|
+
activeWindow.addEventListener('blur', this.windowBlurHandler, true);
|
|
205
|
+
this.canvas.addEventListener('focus', this.canvasFocusHandler, true);
|
|
206
|
+
this.canvas.addEventListener('blur', this.canvasBlurHandler, true);
|
|
207
|
+
this.canvas.addEventListener('wheel', this.mouseWheelHandler, activeListenerOption);
|
|
208
|
+
this.canvas.addEventListener('pointerover', this.pointerOverHandler, passiveListenerOption);
|
|
209
|
+
this.canvas.addEventListener('pointerleave', this.pointerLeaveHandler, passiveListenerOption);
|
|
210
|
+
this.canvas.addEventListener('pointerdown', this.pointerDownHandler, activeListenerOption);
|
|
211
|
+
this.canvas.addEventListener('pointermove', this.pointerMoveHandler, passiveListenerOption);
|
|
212
|
+
this.canvas.addEventListener('pointerup', this.pointerUpHandler, activeListenerOption);
|
|
213
|
+
this.canvas.addEventListener('pointercancel', this.pointerCancelHandler, passiveListenerOption);
|
|
214
|
+
this.canvas.addEventListener('contextmenu', stopEvent, activeListenerOption);
|
|
215
|
+
this.canvas.addEventListener('selectstart', stopEvent, activeListenerOption);
|
|
216
|
+
}
|
|
217
|
+
removeEventListeners() {
|
|
218
|
+
const activeListenerOption = { capture: true, passive: false };
|
|
219
|
+
const passiveListenerOption = { capture: true, passive: true };
|
|
220
|
+
window.removeEventListener('keydown', this.keyDownHandler, true);
|
|
221
|
+
window.removeEventListener('keyup', this.keyUpHandler, true);
|
|
222
|
+
window.removeEventListener('blur', this.windowBlurHandler, true);
|
|
223
|
+
this.canvas.removeEventListener('focus', this.canvasFocusHandler, true);
|
|
224
|
+
this.canvas.removeEventListener('blur', this.canvasBlurHandler, true);
|
|
225
|
+
this.canvas.removeEventListener('wheel', this.mouseWheelHandler, activeListenerOption);
|
|
226
|
+
this.canvas.removeEventListener('pointerover', this.pointerOverHandler, passiveListenerOption);
|
|
227
|
+
this.canvas.removeEventListener('pointerleave', this.pointerLeaveHandler, passiveListenerOption);
|
|
228
|
+
this.canvas.removeEventListener('pointerdown', this.pointerDownHandler, activeListenerOption);
|
|
229
|
+
this.canvas.removeEventListener('pointermove', this.pointerMoveHandler, passiveListenerOption);
|
|
230
|
+
this.canvas.removeEventListener('pointerup', this.pointerUpHandler, activeListenerOption);
|
|
231
|
+
this.canvas.removeEventListener('pointercancel', this.pointerCancelHandler, passiveListenerOption);
|
|
232
|
+
this.canvas.removeEventListener('contextmenu', stopEvent, activeListenerOption);
|
|
233
|
+
this.canvas.removeEventListener('selectstart', stopEvent, activeListenerOption);
|
|
234
|
+
}
|
|
235
|
+
updateGamepads() {
|
|
236
|
+
const activeGamepads = window.navigator.getGamepads();
|
|
237
|
+
this.gamepadSlotsActive.fill(0);
|
|
238
|
+
for (const activeGamepad of activeGamepads) {
|
|
239
|
+
if (!activeGamepad) {
|
|
240
|
+
continue;
|
|
241
|
+
}
|
|
242
|
+
const activeIndex = activeGamepad.index;
|
|
243
|
+
if (activeIndex < 0 || activeIndex >= this.gamepadSlotsActive.length) {
|
|
244
|
+
continue;
|
|
245
|
+
}
|
|
246
|
+
this.gamepadSlotsActive[activeIndex] = 1;
|
|
247
|
+
let gamepad = this.gamepadsByIndex.get(activeIndex);
|
|
248
|
+
if (!gamepad) {
|
|
249
|
+
const definition = resolveGamepadDefinition(activeGamepad, this.gamepadDefinitions);
|
|
250
|
+
gamepad = new Gamepad(activeGamepad, this.channels, definition);
|
|
251
|
+
this.gamepadsByIndex.set(activeIndex, gamepad);
|
|
252
|
+
this.insertGamepadByIndex(gamepad);
|
|
253
|
+
this.onGamepadConnected.dispatch(gamepad, this.gamepadsValue);
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
gamepad.connect(activeGamepad);
|
|
257
|
+
}
|
|
258
|
+
gamepad.update();
|
|
259
|
+
this.onGamepadUpdated.dispatch(gamepad, this.gamepadsValue);
|
|
260
|
+
}
|
|
261
|
+
for (let index = this.gamepadsValue.length - 1; index >= 0; index -= 1) {
|
|
262
|
+
const gamepad = this.gamepadsValue[index];
|
|
263
|
+
if (this.gamepadSlotsActive[gamepad.index] === 0) {
|
|
264
|
+
gamepad.disconnect();
|
|
265
|
+
this.gamepadsValue.splice(index, 1);
|
|
266
|
+
this.gamepadsByIndex.delete(gamepad.index);
|
|
267
|
+
this.onGamepadDisconnected.dispatch(gamepad, this.gamepadsValue);
|
|
268
|
+
gamepad.destroy();
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
return this;
|
|
272
|
+
}
|
|
273
|
+
insertGamepadByIndex(gamepad) {
|
|
274
|
+
let insertIndex = 0;
|
|
275
|
+
while (insertIndex < this.gamepadsValue.length && this.gamepadsValue[insertIndex].index < gamepad.index) {
|
|
276
|
+
insertIndex += 1;
|
|
277
|
+
}
|
|
278
|
+
this.gamepadsValue.splice(insertIndex, 0, gamepad);
|
|
279
|
+
}
|
|
280
|
+
updateEvents() {
|
|
281
|
+
if (this.flags.pop(InputManagerFlag.KeyDown)) {
|
|
282
|
+
for (const channel of this.channelsPressed) {
|
|
283
|
+
this.onKeyDown.dispatch(channel);
|
|
284
|
+
}
|
|
285
|
+
this.channelsPressed.length = 0;
|
|
286
|
+
}
|
|
287
|
+
if (this.flags.pop(InputManagerFlag.KeyUp)) {
|
|
288
|
+
for (const channel of this.channelsReleased) {
|
|
289
|
+
this.onKeyUp.dispatch(channel);
|
|
290
|
+
}
|
|
291
|
+
this.channelsReleased.length = 0;
|
|
292
|
+
}
|
|
293
|
+
if (this.flags.pop(InputManagerFlag.MouseWheel)) {
|
|
294
|
+
this.onMouseWheel.dispatch(this.wheelOffset);
|
|
295
|
+
this.wheelOffset.set(0, 0);
|
|
296
|
+
}
|
|
297
|
+
if (this.flags.pop(InputManagerFlag.PointerUpdate)) {
|
|
298
|
+
this.updatePointerEvents();
|
|
299
|
+
}
|
|
300
|
+
return this;
|
|
301
|
+
}
|
|
302
|
+
updatePointerEvents() {
|
|
303
|
+
for (const pointer of Object.values(this.pointers)) {
|
|
304
|
+
const { stateFlags } = pointer;
|
|
305
|
+
if (stateFlags.value === PointerStateFlag.None) {
|
|
306
|
+
continue;
|
|
307
|
+
}
|
|
308
|
+
if (stateFlags.pop(PointerStateFlag.Over)) {
|
|
309
|
+
this.onPointerEnter.dispatch(pointer);
|
|
310
|
+
}
|
|
311
|
+
if (stateFlags.pop(PointerStateFlag.Down)) {
|
|
312
|
+
this.onPointerDown.dispatch(pointer);
|
|
313
|
+
}
|
|
314
|
+
if (stateFlags.pop(PointerStateFlag.Move)) {
|
|
315
|
+
this.onPointerMove.dispatch(pointer);
|
|
316
|
+
}
|
|
317
|
+
if (stateFlags.pop(PointerStateFlag.Up)) {
|
|
318
|
+
const { x: startX, y: startY } = pointer.startPos;
|
|
319
|
+
this.onPointerUp.dispatch(pointer);
|
|
320
|
+
if (startX >= 0 && startY >= 0) {
|
|
321
|
+
if (getDistance(startX, startY, pointer.x, pointer.y) < this.pointerDistanceThreshold) {
|
|
322
|
+
this.onPointerTap.dispatch(pointer);
|
|
323
|
+
}
|
|
324
|
+
else {
|
|
325
|
+
this.onPointerSwipe.dispatch(pointer);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
pointer.startPos.set(-1, -1);
|
|
329
|
+
}
|
|
330
|
+
if (stateFlags.pop(PointerStateFlag.Cancel)) {
|
|
331
|
+
this.onPointerCancel.dispatch(pointer);
|
|
332
|
+
}
|
|
333
|
+
if (stateFlags.pop(PointerStateFlag.Leave)) {
|
|
334
|
+
this.onPointerLeave.dispatch(pointer);
|
|
335
|
+
delete this.pointers[pointer.id];
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
export { InputManager };
|
|
342
|
+
//# sourceMappingURL=InputManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputManager.js","sources":["../../../../src/input/InputManager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { GenericDualAnalogGamepadMapping } from './GenericDualAnalogGamepadMapping';
|
|
2
|
+
import { GamepadMappingFamily } from './GamepadMapping';
|
|
3
|
+
export declare class JoyConLeftGamepadMapping extends GenericDualAnalogGamepadMapping {
|
|
4
|
+
readonly family = GamepadMappingFamily.JoyConLeft;
|
|
5
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { GenericDualAnalogGamepadMapping } from './GenericDualAnalogGamepadMapping.js';
|
|
2
|
+
import { GamepadMappingFamily } from './GamepadMapping.js';
|
|
3
|
+
|
|
4
|
+
class JoyConLeftGamepadMapping extends GenericDualAnalogGamepadMapping {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.family = GamepadMappingFamily.JoyConLeft;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export { JoyConLeftGamepadMapping };
|
|
12
|
+
//# sourceMappingURL=JoyConLeftGamepadMapping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JoyConLeftGamepadMapping.js","sources":["../../../../src/input/JoyConLeftGamepadMapping.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAGM,MAAO,wBAAyB,SAAQ,+BAA+B,CAAA;AAA7E,IAAA,WAAA,GAAA;;AAC6B,QAAA,IAAA,CAAA,MAAM,GAAG,oBAAoB,CAAC,UAAU;IACrE;AAAC;;;;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { GenericDualAnalogGamepadMapping } from './GenericDualAnalogGamepadMapping';
|
|
2
|
+
import { GamepadMappingFamily } from './GamepadMapping';
|
|
3
|
+
export declare class JoyConRightGamepadMapping extends GenericDualAnalogGamepadMapping {
|
|
4
|
+
readonly family = GamepadMappingFamily.JoyConRight;
|
|
5
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { GenericDualAnalogGamepadMapping } from './GenericDualAnalogGamepadMapping.js';
|
|
2
|
+
import { GamepadMappingFamily } from './GamepadMapping.js';
|
|
3
|
+
|
|
4
|
+
class JoyConRightGamepadMapping extends GenericDualAnalogGamepadMapping {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.family = GamepadMappingFamily.JoyConRight;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export { JoyConRightGamepadMapping };
|
|
12
|
+
//# sourceMappingURL=JoyConRightGamepadMapping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JoyConRightGamepadMapping.js","sources":["../../../../src/input/JoyConRightGamepadMapping.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAGM,MAAO,yBAA0B,SAAQ,+BAA+B,CAAA;AAA9E,IAAA,WAAA,GAAA;;AAC6B,QAAA,IAAA,CAAA,MAAM,GAAG,oBAAoB,CAAC,WAAW;IACtE;AAAC;;;;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { GenericDualAnalogGamepadMapping } from './GenericDualAnalogGamepadMapping';
|
|
2
|
+
import { GamepadMappingFamily } from './GamepadMapping';
|
|
3
|
+
export declare class PlayStationGamepadMapping extends GenericDualAnalogGamepadMapping {
|
|
4
|
+
readonly family = GamepadMappingFamily.PlayStation;
|
|
5
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { GenericDualAnalogGamepadMapping } from './GenericDualAnalogGamepadMapping.js';
|
|
2
|
+
import { GamepadMappingFamily } from './GamepadMapping.js';
|
|
3
|
+
|
|
4
|
+
class PlayStationGamepadMapping extends GenericDualAnalogGamepadMapping {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.family = GamepadMappingFamily.PlayStation;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export { PlayStationGamepadMapping };
|
|
12
|
+
//# sourceMappingURL=PlayStationGamepadMapping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlayStationGamepadMapping.js","sources":["../../../../src/input/PlayStationGamepadMapping.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAGM,MAAO,yBAA0B,SAAQ,+BAA+B,CAAA;AAA9E,IAAA,WAAA,GAAA;;AAC6B,QAAA,IAAA,CAAA,MAAM,GAAG,oBAAoB,CAAC,WAAW;IACtE;AAAC;;;;"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Vector } from 'math/Vector';
|
|
2
|
+
import { Size } from 'math/Size';
|
|
3
|
+
import { Flags } from 'math/Flags';
|
|
4
|
+
export declare enum PointerStateFlag {
|
|
5
|
+
None = 0,
|
|
6
|
+
Over = 1,
|
|
7
|
+
Leave = 2,
|
|
8
|
+
Down = 4,
|
|
9
|
+
Move = 8,
|
|
10
|
+
Up = 16,
|
|
11
|
+
Cancel = 32
|
|
12
|
+
}
|
|
13
|
+
export declare enum PointerState {
|
|
14
|
+
Unknown = 0,
|
|
15
|
+
InsideCanvas = 1,
|
|
16
|
+
OutsideCanvas = 2,
|
|
17
|
+
Pressed = 3,
|
|
18
|
+
Moving = 4,
|
|
19
|
+
Released = 5,
|
|
20
|
+
Cancelled = 6
|
|
21
|
+
}
|
|
22
|
+
export declare class Pointer {
|
|
23
|
+
readonly id: number;
|
|
24
|
+
readonly type: string;
|
|
25
|
+
readonly position: Vector;
|
|
26
|
+
readonly startPos: Vector;
|
|
27
|
+
readonly size: Size;
|
|
28
|
+
readonly tilt: Vector;
|
|
29
|
+
readonly stateFlags: Flags<PointerStateFlag>;
|
|
30
|
+
private _canvas;
|
|
31
|
+
private _buttons;
|
|
32
|
+
private _pressure;
|
|
33
|
+
private _rotation;
|
|
34
|
+
private _currentState;
|
|
35
|
+
constructor(event: PointerEvent, canvas: HTMLCanvasElement);
|
|
36
|
+
get x(): number;
|
|
37
|
+
get y(): number;
|
|
38
|
+
get width(): number;
|
|
39
|
+
get height(): number;
|
|
40
|
+
get buttons(): number;
|
|
41
|
+
get pressure(): number;
|
|
42
|
+
get rotation(): number;
|
|
43
|
+
get currentState(): PointerState;
|
|
44
|
+
handleEnter(event: PointerEvent): void;
|
|
45
|
+
handleLeave(event: PointerEvent): void;
|
|
46
|
+
handlePress(event: PointerEvent): void;
|
|
47
|
+
handleMove(event: PointerEvent): void;
|
|
48
|
+
handleRelease(event: PointerEvent): void;
|
|
49
|
+
handleCancel(event: PointerEvent): void;
|
|
50
|
+
destroy(): void;
|
|
51
|
+
private handleEvent;
|
|
52
|
+
}
|