excalibur 0.25.1 → 0.25.2

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 (254) hide show
  1. package/.nvmrc +1 -1
  2. package/CHANGELOG.md +119 -27
  3. package/README.md +0 -1
  4. package/build/dist/Actions/ActionsComponent.d.ts +1 -1
  5. package/build/dist/Actor.d.ts +46 -45
  6. package/build/dist/Camera.d.ts +10 -2
  7. package/build/dist/Class.d.ts +4 -5
  8. package/build/dist/Collision/BodyComponent.d.ts +6 -2
  9. package/build/dist/Collision/BoundingBox.d.ts +6 -0
  10. package/build/dist/Collision/ColliderComponent.d.ts +1 -4
  11. package/build/dist/Collision/Colliders/CircleCollider.d.ts +18 -2
  12. package/build/dist/Collision/Colliders/EdgeCollider.d.ts +1 -1
  13. package/build/dist/Collision/Colliders/SeparatingAxis.d.ts +2 -2
  14. package/build/dist/Collision/Detection/DynamicTreeCollisionProcessor.d.ts +4 -4
  15. package/build/dist/Collision/Detection/Pair.d.ts +5 -1
  16. package/build/dist/Collision/Group/CollisionGroup.d.ts +0 -1
  17. package/build/dist/Collision/MotionSystem.d.ts +4 -0
  18. package/build/dist/Collision/Solver/ContactConstraintPoint.d.ts +1 -1
  19. package/build/dist/Collision/Solver/Solver.d.ts +1 -1
  20. package/build/dist/Debug/Debug.d.ts +18 -1
  21. package/build/dist/Debug/DebugFlags.d.ts +16 -3
  22. package/build/dist/Engine.d.ts +66 -8
  23. package/build/dist/EntityComponentSystem/Component.d.ts +3 -3
  24. package/build/dist/EntityComponentSystem/Components/MotionComponent.d.ts +2 -2
  25. package/build/dist/EntityComponentSystem/Entity.d.ts +4 -4
  26. package/build/dist/EntityComponentSystem/System.d.ts +1 -1
  27. package/build/dist/EntityComponentSystem/SystemManager.d.ts +6 -1
  28. package/build/dist/EventDispatcher.d.ts +0 -5
  29. package/build/dist/Events/ExEvent.d.ts +6 -0
  30. package/build/dist/Events/PointerEvents.d.ts +37 -0
  31. package/build/dist/Graphics/Animation.d.ts +3 -2
  32. package/build/dist/Graphics/Circle.d.ts +2 -0
  33. package/build/dist/Graphics/Context/ExcaliburGraphicsContext.d.ts +37 -5
  34. package/build/dist/Graphics/Context/ExcaliburGraphicsContext2DCanvas.d.ts +12 -2
  35. package/build/dist/Graphics/Context/ExcaliburGraphicsContextWebGL.d.ts +29 -13
  36. package/build/dist/Graphics/Context/circle-renderer/circle-renderer.d.ts +22 -0
  37. package/build/dist/Graphics/Context/circle-renderer/circle-renderer.frag.glsl +53 -0
  38. package/build/dist/Graphics/Context/circle-renderer/circle-renderer.vert.glsl +37 -0
  39. package/build/dist/Graphics/Context/image-renderer/image-renderer.d.ts +27 -0
  40. package/build/dist/Graphics/Context/image-renderer/image-renderer.frag.glsl +28 -0
  41. package/build/dist/Graphics/Context/{shaders/image-vertex.glsl → image-renderer/image-renderer.vert.glsl} +2 -7
  42. package/build/dist/Graphics/Context/{shaders → line-renderer}/line-fragment.glsl +0 -0
  43. package/build/dist/Graphics/Context/line-renderer/line-renderer.d.ts +21 -0
  44. package/build/dist/Graphics/Context/{shaders → line-renderer}/line-vertex.glsl +2 -2
  45. package/build/dist/Graphics/Context/{shaders → point-renderer}/point-fragment.glsl +6 -2
  46. package/build/dist/Graphics/Context/point-renderer/point-renderer.d.ts +21 -0
  47. package/build/dist/Graphics/Context/{shaders → point-renderer}/point-vertex.glsl +2 -2
  48. package/build/dist/Graphics/Context/quad-index-buffer.d.ts +36 -0
  49. package/build/dist/Graphics/Context/rectangle-renderer/rectangle-renderer.d.ts +23 -0
  50. package/build/dist/Graphics/Context/rectangle-renderer/rectangle-renderer.frag.glsl +85 -0
  51. package/build/dist/Graphics/Context/rectangle-renderer/rectangle-renderer.vert.glsl +42 -0
  52. package/build/dist/Graphics/Context/render-source.d.ts +7 -0
  53. package/build/dist/Graphics/Context/render-target.d.ts +26 -0
  54. package/build/dist/Graphics/Context/renderer.d.ts +20 -51
  55. package/build/dist/Graphics/Context/screen-pass-painter/screen-fragment.glsl +11 -0
  56. package/build/dist/Graphics/Context/screen-pass-painter/screen-pass-painter.d.ts +13 -0
  57. package/build/dist/Graphics/Context/screen-pass-painter/screen-vertex.glsl +11 -0
  58. package/build/dist/Graphics/Context/shader.d.ts +116 -42
  59. package/build/dist/Graphics/Context/shaders/crt-effect.glsl +64 -0
  60. package/build/dist/Graphics/Context/shaders/grayscale-fragment.glsl +13 -0
  61. package/build/dist/Graphics/Context/shaders/invert-fragment.glsl +12 -0
  62. package/build/dist/Graphics/Context/texture-loader.d.ts +8 -2
  63. package/build/dist/Graphics/Context/vertex-buffer.d.ts +49 -0
  64. package/build/dist/Graphics/Context/vertex-layout.d.ts +52 -0
  65. package/build/dist/Graphics/Context/webgl-adapter.d.ts +9 -0
  66. package/build/dist/Graphics/Context/webgl-util.d.ts +22 -0
  67. package/build/dist/Graphics/DebugGraphicsComponent.d.ts +13 -0
  68. package/build/dist/Graphics/Filtering.d.ts +15 -0
  69. package/build/dist/Graphics/Font.d.ts +61 -23
  70. package/build/dist/Graphics/FontCommon.d.ts +43 -2
  71. package/build/dist/Graphics/Graphic.d.ts +23 -9
  72. package/build/dist/Graphics/GraphicsSystem.d.ts +0 -1
  73. package/build/dist/Graphics/ImageSource.d.ts +8 -3
  74. package/build/dist/Graphics/Polygon.d.ts +2 -0
  75. package/build/dist/Graphics/PostProcessor/ColorBlindnessMode.d.ts +5 -0
  76. package/build/dist/Graphics/PostProcessor/ColorBlindnessPostProcessor.d.ts +17 -0
  77. package/build/dist/Graphics/PostProcessor/PostProcessor.d.ts +7 -0
  78. package/build/dist/Graphics/PostProcessor/ScreenShader.d.ts +16 -0
  79. package/build/dist/Graphics/PostProcessor/color-blind-fragment.glsl +62 -0
  80. package/build/dist/Graphics/Raster.d.ts +32 -5
  81. package/build/dist/Graphics/Sprite.d.ts +5 -0
  82. package/build/dist/Graphics/SpriteFont.d.ts +6 -7
  83. package/build/dist/Graphics/SpriteSheet.d.ts +1 -2
  84. package/build/dist/Graphics/Text.d.ts +18 -2
  85. package/build/dist/Graphics/index.d.ts +14 -0
  86. package/build/dist/Id.d.ts +1 -1
  87. package/build/dist/Input/EngineInput.d.ts +2 -2
  88. package/build/dist/Input/Index.d.ts +10 -3
  89. package/build/dist/Input/NativePointerButton.d.ts +10 -0
  90. package/build/dist/Input/PointerAbstraction.d.ts +33 -0
  91. package/build/dist/Input/PointerButton.d.ts +10 -0
  92. package/build/dist/Input/PointerComponent.d.ts +24 -0
  93. package/build/dist/Input/PointerEvent.d.ts +18 -0
  94. package/build/dist/Input/PointerEventReceiver.d.ts +114 -0
  95. package/build/dist/Input/PointerScope.d.ts +14 -0
  96. package/build/dist/Input/PointerSystem.d.ts +43 -0
  97. package/build/dist/Input/PointerType.d.ts +9 -0
  98. package/build/dist/Input/WheelDeltaMode.d.ts +5 -0
  99. package/build/dist/Input/WheelEvent.d.ts +18 -0
  100. package/build/dist/Interfaces/PointerEventHandlers.d.ts +17 -16
  101. package/build/dist/Label.d.ts +9 -2
  102. package/build/dist/Loader.d.ts +5 -2
  103. package/build/dist/Math/Index.d.ts +1 -0
  104. package/build/dist/Math/matrix.d.ts +19 -1
  105. package/build/dist/Math/util.d.ts +45 -0
  106. package/build/dist/Particles.d.ts +12 -0
  107. package/build/dist/Resources/Gif.d.ts +1 -1
  108. package/build/dist/Scene.d.ts +10 -1
  109. package/build/dist/Screen.d.ts +4 -3
  110. package/build/dist/TileMap.d.ts +3 -2
  111. package/build/dist/Traits/Index.d.ts +0 -1
  112. package/build/dist/Trigger.d.ts +4 -0
  113. package/build/dist/Util/Clock.d.ts +118 -0
  114. package/build/dist/Util/Fps.d.ts +40 -0
  115. package/build/dist/Util/Observable.d.ts +1 -1
  116. package/build/dist/Util/Pool.d.ts +2 -10
  117. package/build/dist/Util/Util.d.ts +23 -66
  118. package/build/dist/excalibur.js +9124 -7580
  119. package/build/dist/excalibur.js.map +1 -1
  120. package/build/dist/excalibur.min.js +1 -1
  121. package/build/dist/excalibur.min.js.LICENSE.txt +2 -2
  122. package/build/dist/excalibur.min.js.map +1 -1
  123. package/build/dist/index.d.ts +5 -2
  124. package/build/esm/Actions/ActionsComponent.d.ts +1 -1
  125. package/build/esm/Actor.d.ts +46 -45
  126. package/build/esm/Camera.d.ts +10 -2
  127. package/build/esm/Class.d.ts +4 -5
  128. package/build/esm/Collision/BodyComponent.d.ts +6 -2
  129. package/build/esm/Collision/BoundingBox.d.ts +6 -0
  130. package/build/esm/Collision/ColliderComponent.d.ts +1 -4
  131. package/build/esm/Collision/Colliders/CircleCollider.d.ts +18 -2
  132. package/build/esm/Collision/Colliders/EdgeCollider.d.ts +1 -1
  133. package/build/esm/Collision/Colliders/SeparatingAxis.d.ts +2 -2
  134. package/build/esm/Collision/Detection/DynamicTreeCollisionProcessor.d.ts +4 -4
  135. package/build/esm/Collision/Detection/Pair.d.ts +5 -1
  136. package/build/esm/Collision/Group/CollisionGroup.d.ts +0 -1
  137. package/build/esm/Collision/MotionSystem.d.ts +4 -0
  138. package/build/esm/Collision/Solver/ContactConstraintPoint.d.ts +1 -1
  139. package/build/esm/Collision/Solver/Solver.d.ts +1 -1
  140. package/build/esm/Debug/Debug.d.ts +18 -1
  141. package/build/esm/Debug/DebugFlags.d.ts +16 -3
  142. package/build/esm/Engine.d.ts +66 -8
  143. package/build/esm/EntityComponentSystem/Component.d.ts +3 -3
  144. package/build/esm/EntityComponentSystem/Components/MotionComponent.d.ts +2 -2
  145. package/build/esm/EntityComponentSystem/Entity.d.ts +4 -4
  146. package/build/esm/EntityComponentSystem/System.d.ts +1 -1
  147. package/build/esm/EntityComponentSystem/SystemManager.d.ts +6 -1
  148. package/build/esm/EventDispatcher.d.ts +0 -5
  149. package/build/esm/Events/ExEvent.d.ts +6 -0
  150. package/build/esm/Events/PointerEvents.d.ts +37 -0
  151. package/build/esm/Graphics/Animation.d.ts +3 -2
  152. package/build/esm/Graphics/Circle.d.ts +2 -0
  153. package/build/esm/Graphics/Context/ExcaliburGraphicsContext.d.ts +37 -5
  154. package/build/esm/Graphics/Context/ExcaliburGraphicsContext2DCanvas.d.ts +12 -2
  155. package/build/esm/Graphics/Context/ExcaliburGraphicsContextWebGL.d.ts +29 -13
  156. package/build/esm/Graphics/Context/circle-renderer/circle-renderer.d.ts +22 -0
  157. package/build/esm/Graphics/Context/image-renderer/image-renderer.d.ts +27 -0
  158. package/build/esm/Graphics/Context/line-renderer/line-renderer.d.ts +21 -0
  159. package/build/esm/Graphics/Context/point-renderer/point-renderer.d.ts +21 -0
  160. package/build/esm/Graphics/Context/quad-index-buffer.d.ts +36 -0
  161. package/build/esm/Graphics/Context/rectangle-renderer/rectangle-renderer.d.ts +23 -0
  162. package/build/esm/Graphics/Context/render-source.d.ts +7 -0
  163. package/build/esm/Graphics/Context/render-target.d.ts +26 -0
  164. package/build/esm/Graphics/Context/renderer.d.ts +20 -51
  165. package/build/esm/Graphics/Context/screen-pass-painter/screen-pass-painter.d.ts +13 -0
  166. package/build/esm/Graphics/Context/shader.d.ts +116 -42
  167. package/build/esm/Graphics/Context/texture-loader.d.ts +8 -2
  168. package/build/esm/Graphics/Context/vertex-buffer.d.ts +49 -0
  169. package/build/esm/Graphics/Context/vertex-layout.d.ts +52 -0
  170. package/build/esm/Graphics/Context/webgl-adapter.d.ts +9 -0
  171. package/build/esm/Graphics/Context/webgl-util.d.ts +22 -0
  172. package/build/esm/Graphics/DebugGraphicsComponent.d.ts +13 -0
  173. package/build/esm/Graphics/Filtering.d.ts +15 -0
  174. package/build/esm/Graphics/Font.d.ts +61 -23
  175. package/build/esm/Graphics/FontCommon.d.ts +43 -2
  176. package/build/esm/Graphics/Graphic.d.ts +23 -9
  177. package/build/esm/Graphics/GraphicsSystem.d.ts +0 -1
  178. package/build/esm/Graphics/ImageSource.d.ts +8 -3
  179. package/build/esm/Graphics/Polygon.d.ts +2 -0
  180. package/build/esm/Graphics/PostProcessor/ColorBlindnessMode.d.ts +5 -0
  181. package/build/esm/Graphics/PostProcessor/ColorBlindnessPostProcessor.d.ts +17 -0
  182. package/build/esm/Graphics/PostProcessor/PostProcessor.d.ts +7 -0
  183. package/build/esm/Graphics/PostProcessor/ScreenShader.d.ts +16 -0
  184. package/build/esm/Graphics/Raster.d.ts +32 -5
  185. package/build/esm/Graphics/Sprite.d.ts +5 -0
  186. package/build/esm/Graphics/SpriteFont.d.ts +6 -7
  187. package/build/esm/Graphics/SpriteSheet.d.ts +1 -2
  188. package/build/esm/Graphics/Text.d.ts +18 -2
  189. package/build/esm/Graphics/index.d.ts +14 -0
  190. package/build/esm/Id.d.ts +1 -1
  191. package/build/esm/Input/EngineInput.d.ts +2 -2
  192. package/build/esm/Input/Index.d.ts +10 -3
  193. package/build/esm/Input/NativePointerButton.d.ts +10 -0
  194. package/build/esm/Input/PointerAbstraction.d.ts +33 -0
  195. package/build/esm/Input/PointerButton.d.ts +10 -0
  196. package/build/esm/Input/PointerComponent.d.ts +24 -0
  197. package/build/esm/Input/PointerEvent.d.ts +18 -0
  198. package/build/esm/Input/PointerEventReceiver.d.ts +114 -0
  199. package/build/esm/Input/PointerScope.d.ts +14 -0
  200. package/build/esm/Input/PointerSystem.d.ts +43 -0
  201. package/build/esm/Input/PointerType.d.ts +9 -0
  202. package/build/esm/Input/WheelDeltaMode.d.ts +5 -0
  203. package/build/esm/Input/WheelEvent.d.ts +18 -0
  204. package/build/esm/Interfaces/PointerEventHandlers.d.ts +17 -16
  205. package/build/esm/Label.d.ts +9 -2
  206. package/build/esm/Loader.d.ts +5 -2
  207. package/build/esm/Math/Index.d.ts +1 -0
  208. package/build/esm/Math/matrix.d.ts +19 -1
  209. package/build/esm/Math/util.d.ts +45 -0
  210. package/build/esm/Particles.d.ts +12 -0
  211. package/build/esm/Resources/Gif.d.ts +1 -1
  212. package/build/esm/Scene.d.ts +10 -1
  213. package/build/esm/Screen.d.ts +4 -3
  214. package/build/esm/TileMap.d.ts +3 -2
  215. package/build/esm/Traits/Index.d.ts +0 -1
  216. package/build/esm/Trigger.d.ts +4 -0
  217. package/build/esm/Util/Clock.d.ts +118 -0
  218. package/build/esm/Util/Fps.d.ts +40 -0
  219. package/build/esm/Util/Observable.d.ts +1 -1
  220. package/build/esm/Util/Pool.d.ts +2 -10
  221. package/build/esm/Util/Util.d.ts +23 -66
  222. package/build/esm/excalibur.js +9001 -7438
  223. package/build/esm/excalibur.js.map +1 -1
  224. package/build/esm/excalibur.min.js +1 -1
  225. package/build/esm/excalibur.min.js.LICENSE.txt +2 -2
  226. package/build/esm/excalibur.min.js.map +1 -1
  227. package/build/esm/index.d.ts +5 -2
  228. package/package.json +31 -27
  229. package/build/dist/Graphics/Context/batch.d.ts +0 -11
  230. package/build/dist/Graphics/Context/draw-image-command.d.ts +0 -47
  231. package/build/dist/Graphics/Context/image-renderer.d.ts +0 -39
  232. package/build/dist/Graphics/Context/line-renderer.d.ts +0 -22
  233. package/build/dist/Graphics/Context/point-renderer.d.ts +0 -22
  234. package/build/dist/Graphics/Context/shaders/image-fragment.glsl +0 -48
  235. package/build/dist/Input/Pointer.d.ts +0 -134
  236. package/build/dist/Input/PointerEvents.d.ts +0 -170
  237. package/build/dist/Input/Pointers.d.ts +0 -78
  238. package/build/dist/PostProcessing/ColorBlindCorrector.d.ts +0 -28
  239. package/build/dist/PostProcessing/Index.d.ts +0 -2
  240. package/build/dist/PostProcessing/PostProcessor.d.ts +0 -6
  241. package/build/dist/Traits/CapturePointer.d.ts +0 -10
  242. package/build/esm/Graphics/Context/batch.d.ts +0 -11
  243. package/build/esm/Graphics/Context/draw-image-command.d.ts +0 -47
  244. package/build/esm/Graphics/Context/image-renderer.d.ts +0 -39
  245. package/build/esm/Graphics/Context/line-renderer.d.ts +0 -22
  246. package/build/esm/Graphics/Context/point-renderer.d.ts +0 -22
  247. package/build/esm/Input/Pointer.d.ts +0 -134
  248. package/build/esm/Input/PointerEvents.d.ts +0 -170
  249. package/build/esm/Input/Pointers.d.ts +0 -78
  250. package/build/esm/PostProcessing/ColorBlindCorrector.d.ts +0 -28
  251. package/build/esm/PostProcessing/Index.d.ts +0 -2
  252. package/build/esm/PostProcessing/PostProcessor.d.ts +0 -6
  253. package/build/esm/Traits/CapturePointer.d.ts +0 -10
  254. package/wallaby.js +0 -77
@@ -1,78 +0,0 @@
1
- import { Class } from '../Class';
2
- import { Engine } from '../Engine';
3
- import { Pointer } from './Pointer';
4
- import { PointerEvent, WheelEvent, NativePointerButton } from './PointerEvents';
5
- import { GameEvent } from '../Events';
6
- import * as Events from '../Events';
7
- import { GlobalCoordinates } from '../Math/global-coordinates';
8
- import { Vector } from '../Math/vector';
9
- import { Actor } from '../Actor';
10
- export declare type DOMPointerEvent = globalThis.PointerEvent;
11
- export declare type DOMWheelEvent = globalThis.WheelEvent;
12
- /**
13
- * Handles pointer events (mouse, touch, stylus, etc.) and normalizes to
14
- * [W3C Pointer Events](http://www.w3.org/TR/pointerevents/).
15
- */
16
- export declare class Pointers extends Class {
17
- private _engine;
18
- private _pointerDown;
19
- private _pointerUp;
20
- private _pointerMove;
21
- private _pointerCancel;
22
- private _wheel;
23
- private _pointers;
24
- private _activePointers;
25
- constructor(engine: Engine);
26
- on(eventName: Events.up, handler: (event: PointerEvent) => void): void;
27
- on(eventName: Events.down, handler: (event: PointerEvent) => void): void;
28
- on(eventName: Events.move, handler: (event: PointerEvent) => void): void;
29
- on(eventName: Events.enter, handler: (event: PointerEvent) => void): void;
30
- on(eventName: Events.leave, handler: (event: PointerEvent) => void): void;
31
- on(eventName: Events.cancel, handler: (event: PointerEvent) => void): void;
32
- on(eventName: Events.wheel, handler: (event: WheelEvent) => void): void;
33
- on(eventName: string, handler: (event: GameEvent<any>) => void): void;
34
- /**
35
- * Primary pointer (mouse, 1 finger, stylus, etc.)
36
- */
37
- primary: Pointer;
38
- /**
39
- * Initializes pointer event listeners
40
- */
41
- init(target?: GlobalEventHandlers): void;
42
- /**
43
- * Synthesize a pointer event that looks like a real browser event to excalibur
44
- * @param eventName
45
- * @param pos
46
- */
47
- triggerEvent(eventName: 'up' | 'down' | 'move' | 'cancel' | 'wheel', pos: Vector | GlobalCoordinates, button?: NativePointerButton, pointerType?: 'mouse' | 'touch' | 'pen', pointerId?: number): void;
48
- /**
49
- * Update all pointer events and pointers, meant to be called at the end of frame
50
- */
51
- update(): void;
52
- /**
53
- * Safely gets a Pointer at a specific index and initializes one if it doesn't yet exist
54
- * @param index The pointer index to retrieve
55
- */
56
- at(index: number): Pointer;
57
- /**
58
- * Get number of pointers being watched
59
- */
60
- count(): number;
61
- checkAndUpdateActorUnderPointer(actor: Actor): void;
62
- private _dispatchWithBubble;
63
- private _dispatchPointerLeaveEvents;
64
- private _dispatchPointerEnterEvents;
65
- dispatchPointerEvents(): void;
66
- private _propagateWheelPointerEvent;
67
- private _handleMouseEvent;
68
- private _handleTouchEvent;
69
- private _handlePointerEvent;
70
- private _handleWheelEvent;
71
- /**
72
- * Gets the index of the pointer specified for the given pointer ID or finds the next empty pointer slot available.
73
- * This is required because IE10/11 uses incrementing pointer IDs so we need to store a mapping of ID => idx
74
- */
75
- private _getPointerIndex;
76
- private _nativeButtonToPointerButton;
77
- private _stringToPointerType;
78
- }
@@ -1,28 +0,0 @@
1
- import { PostProcessor } from './PostProcessor';
2
- import { Engine } from '../Engine';
3
- export declare enum ColorBlindness {
4
- Protanope = 0,
5
- Deuteranope = 1,
6
- Tritanope = 2
7
- }
8
- /**
9
- * This post processor can correct colors and simulate color blindness.
10
- * It is possible to use this on every game, but the game's performance
11
- * will suffer measurably. It's better to use it as a helpful tool while developing your game.
12
- * Remember, the best practice is to design with color blindness in mind.
13
- */
14
- export declare class ColorBlindCorrector implements PostProcessor {
15
- engine: Engine;
16
- simulate: boolean;
17
- colorMode: ColorBlindness;
18
- private _vertexShader;
19
- private _fragmentShader;
20
- private _internalCanvas;
21
- private _gl;
22
- private _program;
23
- constructor(engine: Engine, simulate?: boolean, colorMode?: ColorBlindness);
24
- private _getFragmentShaderByMode;
25
- private _setRectangle;
26
- private _getShader;
27
- process(image: ImageData, out: CanvasRenderingContext2D): void;
28
- }
@@ -1,2 +0,0 @@
1
- export * from './ColorBlindCorrector';
2
- export * from './PostProcessor';
@@ -1,6 +0,0 @@
1
- /**
2
- * Adds post processing support for the engine, can process raw pixel data and manipulate canvas directly.
3
- */
4
- export interface PostProcessor {
5
- process(image: ImageData, out: CanvasRenderingContext2D): void;
6
- }
@@ -1,10 +0,0 @@
1
- import { Trait } from '../Interfaces/Trait';
2
- import { Actor } from '../Actor';
3
- import { Engine } from '../Engine';
4
- /**
5
- * Revises pointer events path accordingly to the actor
6
- * @deprecated Will be removed in 0.26.0
7
- */
8
- export declare class CapturePointer implements Trait {
9
- update(actor: Actor, engine: Engine): void;
10
- }
@@ -1,11 +0,0 @@
1
- import { Pool, Poolable } from '../../Util/Pool';
2
- export declare class BatchCommand<T> implements Poolable {
3
- max: number;
4
- _pool: Pool<this>;
5
- commands: T[];
6
- constructor(max: number);
7
- isFull(): boolean;
8
- canAdd(): boolean;
9
- add(cmd: T): void;
10
- dispose(): this;
11
- }
@@ -1,47 +0,0 @@
1
- import { Matrix } from '../../Math/matrix';
2
- import { BoundingBox } from '../../Collision/Index';
3
- import { Color } from '../../Color';
4
- import { Pool, Poolable } from '../../Util/Pool';
5
- import { HTMLImageSource } from './ExcaliburGraphicsContext';
6
- import { Vector } from '../../Math/vector';
7
- export declare enum DrawCommandType {
8
- Image = "image",
9
- Line = "line",
10
- Rectangle = "rectangle",
11
- Circle = "circle"
12
- }
13
- export declare class DrawImageCommand implements Poolable {
14
- _pool: Pool<this>;
15
- snapToPixel: boolean;
16
- image: HTMLImageSource;
17
- color: Color;
18
- type: DrawCommandType;
19
- opacity: number;
20
- width: number;
21
- height: number;
22
- dest: [number, number];
23
- view: [number, number, number, number];
24
- private _geom;
25
- constructor();
26
- constructor(image: HTMLImageSource, x: number, y: number);
27
- constructor(image: HTMLImageSource, x: number, y: number, width?: number, height?: number);
28
- constructor(image: HTMLImageSource, sx: number, sy: number, swidth?: number, sheight?: number, dx?: number, dy?: number, dwidth?: number, dheight?: number);
29
- init(image?: HTMLImageSource, sx?: number, sy?: number, swidth?: number, sheight?: number, dx?: number, dy?: number, dwidth?: number, dheight?: number): this;
30
- initRect(color: Color, start: Vector, width: number, height: number): this;
31
- initLine(color: Color, start: Vector, end: Vector, thickness: number): this;
32
- initCircle(pos: Vector, radius: number, color: Color): this;
33
- dispose(): this;
34
- applyTransform(transform: Matrix, opacity: number): void;
35
- get geometry(): [number, number][];
36
- }
37
- export declare class DrawRectCommand {
38
- dest: [number, number];
39
- width: number;
40
- height: number;
41
- constructor(x: number, y: number, width: number, height: number);
42
- }
43
- export declare class DrawDebugRectCommand {
44
- bounds: BoundingBox;
45
- color: Color;
46
- constructor(bounds: BoundingBox, color: Color);
47
- }
@@ -1,39 +0,0 @@
1
- import { Shader } from './shader';
2
- import { BatchCommand } from './batch';
3
- import { DrawImageCommand } from './draw-image-command';
4
- import { BatchRenderer } from './renderer';
5
- import { WebGLGraphicsContextInfo } from './ExcaliburGraphicsContextWebGL';
6
- import { HTMLImageSource } from './ExcaliburGraphicsContext';
7
- import { Color } from '../../Color';
8
- import { Vector } from '../..';
9
- export declare class BatchImage extends BatchCommand<DrawImageCommand> {
10
- maxDraws: number;
11
- maxTextures: number;
12
- textures: WebGLTexture[];
13
- commands: DrawImageCommand[];
14
- private _graphicMap;
15
- constructor(maxDraws: number, maxTextures: number);
16
- isFull(): boolean;
17
- canAdd(): boolean;
18
- private _isCommandFull;
19
- private _isTextureFull;
20
- private _wouldAddTexture;
21
- maybeAdd(command: DrawImageCommand): boolean;
22
- add(command: DrawImageCommand): void;
23
- bindTextures(gl: WebGLRenderingContext): void;
24
- getBatchTextureId(command: DrawImageCommand): number;
25
- dispose(): this;
26
- clear(): void;
27
- }
28
- export declare class ImageRenderer extends BatchRenderer<DrawImageCommand> {
29
- private _contextInfo;
30
- constructor(gl: WebGLRenderingContext, _contextInfo: WebGLGraphicsContextInfo);
31
- buildShader(gl: WebGLRenderingContext): Shader;
32
- private _transformFragmentSource;
33
- addCircle(pos: Vector, radius: number, color: Color): void;
34
- addRectangle(color: Color, pos: Vector, width: number, height: number): void;
35
- addLine(color: Color, start: Vector, end: Vector, thickness?: number): void;
36
- addImage(graphic: HTMLImageSource, sx: number, sy: number, swidth?: number, sheight?: number, dx?: number, dy?: number, dwidth?: number, dheight?: number): void;
37
- renderBatch(gl: WebGLRenderingContext, batch: BatchImage, vertexCount: number): void;
38
- buildBatchVertices(vertexBuffer: Float32Array, batch: BatchImage): number;
39
- }
@@ -1,22 +0,0 @@
1
- import { Vector } from '../../Math/vector';
2
- import { Color } from '../../Color';
3
- import { Shader } from './shader';
4
- import { BatchRenderer } from './renderer';
5
- import { BatchCommand } from './batch';
6
- import { WebGLGraphicsContextInfo } from './ExcaliburGraphicsContextWebGL';
7
- import { Pool, Poolable } from '../../Util/Pool';
8
- export declare class DrawLine implements Poolable {
9
- _pool?: Pool<this>;
10
- color: Color;
11
- start: Vector;
12
- end: Vector;
13
- dispose(): this;
14
- }
15
- export declare class LineRenderer extends BatchRenderer<DrawLine> {
16
- private _contextInfo;
17
- constructor(gl: WebGLRenderingContext, _contextInfo: WebGLGraphicsContextInfo);
18
- buildShader(gl: WebGLRenderingContext): Shader;
19
- addLine(start: Vector, end: Vector, color: Color): void;
20
- buildBatchVertices(vertexBuffer: Float32Array, batch: BatchCommand<DrawLine>): number;
21
- renderBatch(gl: WebGLRenderingContext, _batch: BatchCommand<DrawLine>, vertexCount: number): void;
22
- }
@@ -1,22 +0,0 @@
1
- import { Shader } from './shader';
2
- import { Vector } from '../../Math/vector';
3
- import { Color } from '../../Color';
4
- import { BatchRenderer } from './renderer';
5
- import { BatchCommand } from './batch';
6
- import { WebGLGraphicsContextInfo } from './ExcaliburGraphicsContextWebGL';
7
- import { Pool, Poolable } from '../../Util/Pool';
8
- export declare class DrawPoint implements Poolable {
9
- _pool?: Pool<this>;
10
- point: Vector;
11
- color: Color;
12
- size: number;
13
- dispose(): this;
14
- }
15
- export declare class PointRenderer extends BatchRenderer<DrawPoint> {
16
- private _contextInfo;
17
- constructor(gl: WebGLRenderingContext, _contextInfo: WebGLGraphicsContextInfo);
18
- buildShader(gl: WebGLRenderingContext): Shader;
19
- addPoint(point: Vector, color: Color, size: number): void;
20
- buildBatchVertices(vertexBuffer: Float32Array, batch: BatchCommand<DrawPoint>): number;
21
- renderBatch(gl: WebGLRenderingContext, _batch: BatchCommand<DrawPoint>, vertexCount: number): void;
22
- }
@@ -1,134 +0,0 @@
1
- import { Actor } from '../Actor';
2
- import { Vector } from '../Math/vector';
3
- import { Class } from '../Class';
4
- import { PointerMoveEvent, PointerDownEvent, PointerUpEvent, WheelEvent } from './PointerEvents';
5
- export interface ActorsUnderPointer {
6
- [ActorId: number]: Actor;
7
- length: number;
8
- }
9
- /**
10
- * The type of pointer for a [[PointerEvent]].
11
- */
12
- export declare enum PointerType {
13
- Touch = "Touch",
14
- Mouse = "Mouse",
15
- Pen = "Pen",
16
- Unknown = "Unknown"
17
- }
18
- /**
19
- * Determines the scope of handling mouse/touch events. See [[Pointers]] for more information.
20
- */
21
- export declare enum PointerScope {
22
- /**
23
- * Handle events on the `canvas` element only. Events originating outside the
24
- * `canvas` will not be handled.
25
- */
26
- Canvas = "Canvas",
27
- /**
28
- * Handles events on the entire document. All events will be handled by Excalibur.
29
- */
30
- Document = "Document"
31
- }
32
- /**
33
- * Captures and dispatches PointerEvents
34
- */
35
- export declare class Pointer extends Class {
36
- private static _MAX_ID;
37
- readonly id: number;
38
- private _isDown;
39
- private _wasDown;
40
- private _actorsUnderPointer;
41
- private _actors;
42
- private _actorsLastFrame;
43
- private _actorsNoLongerUnderPointer;
44
- private _actorSortingFcn;
45
- /**
46
- * Whether the Pointer is currently dragging.
47
- */
48
- get isDragging(): boolean;
49
- /**
50
- * Whether the Pointer just started dragging.
51
- */
52
- get isDragStart(): boolean;
53
- /**
54
- * Whether the Pointer just ended dragging.
55
- */
56
- get isDragEnd(): boolean;
57
- /**
58
- * Returns true if pointer has any actors under
59
- */
60
- get hasActorsUnderPointer(): boolean;
61
- /**
62
- * The last position on the document this pointer was at. Can be `null` if pointer was never active.
63
- */
64
- lastPagePos: Vector;
65
- /**
66
- * The last position on the screen this pointer was at. Can be `null` if pointer was never active.
67
- */
68
- lastScreenPos: Vector;
69
- /**
70
- * The last position in the game world coordinates this pointer was at. Can be `null` if pointer was never active.
71
- */
72
- lastWorldPos: Vector;
73
- /**
74
- * Returns the currently dragging target or null if it isn't exist
75
- */
76
- dragTarget: Actor;
77
- constructor();
78
- on(event: 'move', handler: (event: PointerMoveEvent) => void): void;
79
- on(event: 'down', handler: (event: PointerDownEvent) => void): void;
80
- on(event: 'up', handler: (event: PointerUpEvent) => void): void;
81
- on(event: 'wheel', handler: (event: WheelEvent) => void): void;
82
- once(event: 'move', handler: (event: PointerMoveEvent) => void): void;
83
- once(event: 'down', handler: (event: PointerDownEvent) => void): void;
84
- once(event: 'up', handler: (event: PointerUpEvent) => void): void;
85
- once(event: 'wheel', handler: (event: WheelEvent) => void): void;
86
- off(event: 'move', handler?: (event: PointerMoveEvent) => void): void;
87
- off(event: 'down', handler?: (event: PointerDownEvent) => void): void;
88
- off(event: 'up', handler?: (event: PointerUpEvent) => void): void;
89
- off(event: 'wheel', handler?: (event: WheelEvent) => void): void;
90
- /**
91
- * Update the state of current pointer, meant to be called a the end of frame
92
- */
93
- update(): void;
94
- /**
95
- * Adds an Actor to actorsUnderPointer object.
96
- * @param actor An Actor to be added;
97
- */
98
- addActorUnderPointer(actor: Actor): void;
99
- /**
100
- * Removes an Actor from actorsUnderPointer object.
101
- * @param actor An Actor to be removed;
102
- */
103
- removeActorUnderPointer(actor: Actor): void;
104
- /**
105
- * Returns all actors under this pointer this frame
106
- */
107
- getActorsUnderPointer(): Actor[];
108
- /**
109
- * Returns all actors that are no longer under the pointer this frame
110
- */
111
- getActorsUnderPointerLastFrame(): Actor[];
112
- /**
113
- * Returns all actors relevant for events to pointer this frame
114
- */
115
- getActorsForEvents(): Actor[];
116
- /**
117
- * Checks if Pointer location has a specific Actor bounds contained underneath.
118
- * @param actor An Actor for check;
119
- */
120
- checkActorUnderPointer(actor: Actor): boolean;
121
- /**
122
- * Checks if an actor was under the pointer last frame
123
- * @param actor
124
- */
125
- wasActorUnderPointer(actor: Actor): boolean;
126
- /**
127
- * Checks if Pointer has a specific Actor in ActorsUnderPointer list.
128
- * @param actor An Actor for check;
129
- */
130
- isActorAliveUnderPointer(actor: Actor): boolean;
131
- private _onPointerMove;
132
- private _onPointerDown;
133
- private _onPointerUp;
134
- }
@@ -1,170 +0,0 @@
1
- import { Actor } from '../Actor';
2
- import { GlobalCoordinates } from '../Math/global-coordinates';
3
- import { Vector } from '../Math/vector';
4
- import { Pointer, PointerType } from './Pointer';
5
- import { GameEvent } from '../Events';
6
- /**
7
- * Native browser button enumeration
8
- */
9
- export declare enum NativePointerButton {
10
- NoButton = -1,
11
- Left = 0,
12
- Middle = 1,
13
- Right = 2,
14
- Unknown = 3
15
- }
16
- /**
17
- * The mouse button being pressed.
18
- */
19
- export declare enum PointerButton {
20
- Left = "Left",
21
- Middle = "Middle",
22
- Right = "Right",
23
- Unknown = "Unknown",
24
- NoButton = "NoButton"
25
- }
26
- export declare enum WheelDeltaMode {
27
- Pixel = "Pixel",
28
- Line = "Line",
29
- Page = "Page"
30
- }
31
- /**
32
- * Type that indicates Excalibur's valid synthetic pointer events
33
- */
34
- export declare type PointerEventName = 'pointerdragstart' | 'pointerdragend' | 'pointerdragmove' | 'pointerdragenter' | 'pointerdragleave' | 'pointermove' | 'pointerenter' | 'pointerleave' | 'pointerup' | 'pointerdown';
35
- /**
36
- * Pointer events
37
- *
38
- * Represents a mouse, touch, or stylus event. See [[Pointers]] for more information on
39
- * handling pointer input.
40
- *
41
- * For mouse-based events, you can inspect [[PointerEvent.button]] to see what button was pressed.
42
- */
43
- export declare class PointerEvent extends GameEvent<Actor> {
44
- protected coordinates: GlobalCoordinates;
45
- pointer: Pointer;
46
- index: number;
47
- pointerType: PointerType;
48
- button: PointerButton;
49
- ev: any;
50
- protected _name: string;
51
- get name(): string;
52
- /** The world coordinates of the event. */
53
- get worldPos(): Vector;
54
- /** The page coordinates of the event. */
55
- get pagePos(): Vector;
56
- /** The screen coordinates of the event. */
57
- get screenPos(): Vector;
58
- /**
59
- * @param coordinates The [[GlobalCoordinates]] of the event
60
- * @param pointer The [[Pointer]] of the event
61
- * @param index The index of the pointer (zero-based)
62
- * @param pointerType The type of pointer
63
- * @param button The button pressed (if [[PointerType.Mouse]])
64
- * @param ev The raw DOM event being handled
65
- */
66
- constructor(coordinates: GlobalCoordinates, pointer: Pointer, index: number, pointerType: PointerType, button: PointerButton, ev: any);
67
- get pos(): Vector;
68
- _canceled: boolean;
69
- /**
70
- * Cancels pointer event propogation, event will not be transmitted to any other actors
71
- */
72
- cancel(): void;
73
- /**
74
- *
75
- * @returns If the event is canceled it will no longer be transmitted to any other actors
76
- */
77
- isCanceled(): boolean;
78
- propagate(actor: Actor): void;
79
- /**
80
- * Action, that calls when event happens
81
- */
82
- doAction(actor: Actor): void;
83
- protected _onActionStart(_actor?: Actor): void;
84
- protected _onActionEnd(_actor?: Actor): void;
85
- }
86
- export declare class PointerEventFactory<T extends PointerEvent> {
87
- protected _pointerEventType: new (coordinates: GlobalCoordinates, pointer: Pointer, index: number, pointerType: PointerType, button: PointerButton, ev: any) => T;
88
- constructor(_pointerEventType: new (coordinates: GlobalCoordinates, pointer: Pointer, index: number, pointerType: PointerType, button: PointerButton, ev: any) => T);
89
- /**
90
- * Create specific PointerEvent
91
- */
92
- create(coordinates: GlobalCoordinates, pointer: Pointer, index: number, pointerType: PointerType, button: PointerButton, ev: any): T;
93
- }
94
- export declare class PointerDragEvent extends PointerEvent {
95
- }
96
- export declare class PointerUpEvent extends PointerEvent {
97
- protected _name: string;
98
- protected _onActionEnd(actor: Actor): void;
99
- }
100
- export declare class PointerDownEvent extends PointerEvent {
101
- protected _name: string;
102
- protected _onActionEnd(actor: Actor): void;
103
- }
104
- export declare class PointerMoveEvent extends PointerEvent {
105
- protected _name: string;
106
- propagate(actor: Actor): void;
107
- protected _onActionStart(actor: Actor): void;
108
- }
109
- export declare class PointerEnterEvent extends PointerEvent {
110
- protected _name: string;
111
- protected _onActionStart(actor: Actor): void;
112
- protected _onActionEnd(actor: Actor): void;
113
- }
114
- export declare class PointerLeaveEvent extends PointerEvent {
115
- protected _name: string;
116
- protected _onActionStart(actor: Actor): void;
117
- protected _onActionEnd(actor: Actor): void;
118
- }
119
- export declare class PointerCancelEvent extends PointerEvent {
120
- protected _name: string;
121
- }
122
- /**
123
- * Wheel Events
124
- *
125
- * Represents a mouse wheel event. See [[Pointers]] for more information on
126
- * handling point input.
127
- */
128
- export declare class WheelEvent extends GameEvent<Actor> {
129
- x: number;
130
- y: number;
131
- pageX: number;
132
- pageY: number;
133
- screenX: number;
134
- screenY: number;
135
- index: number;
136
- deltaX: number;
137
- deltaY: number;
138
- deltaZ: number;
139
- deltaMode: WheelDeltaMode;
140
- ev: any;
141
- /**
142
- * @param x The `x` coordinate of the event (in world coordinates)
143
- * @param y The `y` coordinate of the event (in world coordinates)
144
- * @param pageX The `x` coordinate of the event (in document coordinates)
145
- * @param pageY The `y` coordinate of the event (in document coordinates)
146
- * @param screenX The `x` coordinate of the event (in screen coordinates)
147
- * @param screenY The `y` coordinate of the event (in screen coordinates)
148
- * @param index The index of the pointer (zero-based)
149
- * @param deltaX The type of pointer
150
- * @param deltaY The type of pointer
151
- * @param deltaZ The type of pointer
152
- * @param deltaMode The type of movement [[WheelDeltaMode]]
153
- * @param ev The raw DOM event being handled
154
- */
155
- constructor(x: number, y: number, pageX: number, pageY: number, screenX: number, screenY: number, index: number, deltaX: number, deltaY: number, deltaZ: number, deltaMode: WheelDeltaMode, ev: any);
156
- private _isCanceled;
157
- /**
158
- * Cancels pointer event propogation, event will not be transmitted to any other actors
159
- */
160
- cancel(): void;
161
- /**
162
- *
163
- * @returns If the event is canceled it will no longer be transmitted to any other actors
164
- */
165
- isCanceled(): boolean;
166
- }
167
- /**
168
- *
169
- */
170
- export declare function createPointerEventByName(eventName: string, coordinates: GlobalCoordinates, pointer: Pointer, index: number, pointerType: PointerType, button: PointerButton, ev: any): PointerEvent;
@@ -1,78 +0,0 @@
1
- import { Class } from '../Class';
2
- import { Engine } from '../Engine';
3
- import { Pointer } from './Pointer';
4
- import { PointerEvent, WheelEvent, NativePointerButton } from './PointerEvents';
5
- import { GameEvent } from '../Events';
6
- import * as Events from '../Events';
7
- import { GlobalCoordinates } from '../Math/global-coordinates';
8
- import { Vector } from '../Math/vector';
9
- import { Actor } from '../Actor';
10
- export declare type DOMPointerEvent = globalThis.PointerEvent;
11
- export declare type DOMWheelEvent = globalThis.WheelEvent;
12
- /**
13
- * Handles pointer events (mouse, touch, stylus, etc.) and normalizes to
14
- * [W3C Pointer Events](http://www.w3.org/TR/pointerevents/).
15
- */
16
- export declare class Pointers extends Class {
17
- private _engine;
18
- private _pointerDown;
19
- private _pointerUp;
20
- private _pointerMove;
21
- private _pointerCancel;
22
- private _wheel;
23
- private _pointers;
24
- private _activePointers;
25
- constructor(engine: Engine);
26
- on(eventName: Events.up, handler: (event: PointerEvent) => void): void;
27
- on(eventName: Events.down, handler: (event: PointerEvent) => void): void;
28
- on(eventName: Events.move, handler: (event: PointerEvent) => void): void;
29
- on(eventName: Events.enter, handler: (event: PointerEvent) => void): void;
30
- on(eventName: Events.leave, handler: (event: PointerEvent) => void): void;
31
- on(eventName: Events.cancel, handler: (event: PointerEvent) => void): void;
32
- on(eventName: Events.wheel, handler: (event: WheelEvent) => void): void;
33
- on(eventName: string, handler: (event: GameEvent<any>) => void): void;
34
- /**
35
- * Primary pointer (mouse, 1 finger, stylus, etc.)
36
- */
37
- primary: Pointer;
38
- /**
39
- * Initializes pointer event listeners
40
- */
41
- init(target?: GlobalEventHandlers): void;
42
- /**
43
- * Synthesize a pointer event that looks like a real browser event to excalibur
44
- * @param eventName
45
- * @param pos
46
- */
47
- triggerEvent(eventName: 'up' | 'down' | 'move' | 'cancel' | 'wheel', pos: Vector | GlobalCoordinates, button?: NativePointerButton, pointerType?: 'mouse' | 'touch' | 'pen', pointerId?: number): void;
48
- /**
49
- * Update all pointer events and pointers, meant to be called at the end of frame
50
- */
51
- update(): void;
52
- /**
53
- * Safely gets a Pointer at a specific index and initializes one if it doesn't yet exist
54
- * @param index The pointer index to retrieve
55
- */
56
- at(index: number): Pointer;
57
- /**
58
- * Get number of pointers being watched
59
- */
60
- count(): number;
61
- checkAndUpdateActorUnderPointer(actor: Actor): void;
62
- private _dispatchWithBubble;
63
- private _dispatchPointerLeaveEvents;
64
- private _dispatchPointerEnterEvents;
65
- dispatchPointerEvents(): void;
66
- private _propagateWheelPointerEvent;
67
- private _handleMouseEvent;
68
- private _handleTouchEvent;
69
- private _handlePointerEvent;
70
- private _handleWheelEvent;
71
- /**
72
- * Gets the index of the pointer specified for the given pointer ID or finds the next empty pointer slot available.
73
- * This is required because IE10/11 uses incrementing pointer IDs so we need to store a mapping of ID => idx
74
- */
75
- private _getPointerIndex;
76
- private _nativeButtonToPointerButton;
77
- private _stringToPointerType;
78
- }