@vpmedia/phaser 1.103.0 → 1.105.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/dist/index.js +997 -403
- package/dist/index.js.map +1 -1
- package/dist/phaser/core/animation.d.ts +35 -11
- package/dist/phaser/core/animation.d.ts.map +1 -1
- package/dist/phaser/core/animation_manager.d.ts +20 -10
- package/dist/phaser/core/animation_manager.d.ts.map +1 -1
- package/dist/phaser/core/animation_parser.d.ts +2 -2
- package/dist/phaser/core/animation_parser.d.ts.map +1 -1
- package/dist/phaser/core/array_set.d.ts +3 -3
- package/dist/phaser/core/array_set.d.ts.map +1 -1
- package/dist/phaser/core/cache.d.ts +68 -60
- package/dist/phaser/core/cache.d.ts.map +1 -1
- package/dist/phaser/core/device.d.ts +23 -0
- package/dist/phaser/core/device.d.ts.map +1 -1
- package/dist/phaser/core/device_util.d.ts +10 -10
- package/dist/phaser/core/device_util.d.ts.map +1 -1
- package/dist/phaser/core/dom.d.ts +6 -5
- package/dist/phaser/core/dom.d.ts.map +1 -1
- package/dist/phaser/core/event_manager.d.ts +49 -158
- package/dist/phaser/core/event_manager.d.ts.map +1 -1
- package/dist/phaser/core/factory.d.ts +8 -7
- package/dist/phaser/core/factory.d.ts.map +1 -1
- package/dist/phaser/core/frame.d.ts +27 -48
- package/dist/phaser/core/frame.d.ts.map +1 -1
- package/dist/phaser/core/frame_data.d.ts +11 -58
- package/dist/phaser/core/frame_data.d.ts.map +1 -1
- package/dist/phaser/core/frame_util.d.ts +4 -14
- package/dist/phaser/core/frame_util.d.ts.map +1 -1
- package/dist/phaser/core/game.d.ts +50 -3
- package/dist/phaser/core/game.d.ts.map +1 -1
- package/dist/phaser/core/input.d.ts +66 -13
- package/dist/phaser/core/input.d.ts.map +1 -1
- package/dist/phaser/core/input_handler.d.ts +64 -20
- package/dist/phaser/core/input_handler.d.ts.map +1 -1
- package/dist/phaser/core/input_mouse.d.ts +26 -1
- package/dist/phaser/core/input_mouse.d.ts.map +1 -1
- package/dist/phaser/core/input_mspointer.d.ts +18 -2
- package/dist/phaser/core/input_mspointer.d.ts.map +1 -1
- package/dist/phaser/core/input_pointer.d.ts +53 -9
- package/dist/phaser/core/input_pointer.d.ts.map +1 -1
- package/dist/phaser/core/input_touch.d.ts +19 -1
- package/dist/phaser/core/input_touch.d.ts.map +1 -1
- package/dist/phaser/core/loader.d.ts +56 -28
- package/dist/phaser/core/loader.d.ts.map +1 -1
- package/dist/phaser/core/loader_parser.d.ts +4 -4
- package/dist/phaser/core/loader_parser.d.ts.map +1 -1
- package/dist/phaser/core/raf.d.ts +2 -2
- package/dist/phaser/core/raf.d.ts.map +1 -1
- package/dist/phaser/core/scale_manager.d.ts +77 -17
- package/dist/phaser/core/scale_manager.d.ts.map +1 -1
- package/dist/phaser/core/scene.d.ts +3 -1
- package/dist/phaser/core/scene.d.ts.map +1 -1
- package/dist/phaser/core/scene_manager.d.ts +25 -9
- package/dist/phaser/core/scene_manager.d.ts.map +1 -1
- package/dist/phaser/core/signal.d.ts +9 -8
- package/dist/phaser/core/signal.d.ts.map +1 -1
- package/dist/phaser/core/signal_binding.d.ts +2 -2
- package/dist/phaser/core/signal_binding.d.ts.map +1 -1
- package/dist/phaser/core/sound.d.ts +58 -10
- package/dist/phaser/core/sound.d.ts.map +1 -1
- package/dist/phaser/core/sound_manager.d.ts +28 -9
- package/dist/phaser/core/sound_manager.d.ts.map +1 -1
- package/dist/phaser/core/sound_sprite.d.ts +10 -4
- package/dist/phaser/core/sound_sprite.d.ts.map +1 -1
- package/dist/phaser/core/stage.d.ts +7 -3
- package/dist/phaser/core/stage.d.ts.map +1 -1
- package/dist/phaser/core/time.d.ts +32 -5
- package/dist/phaser/core/time.d.ts.map +1 -1
- package/dist/phaser/core/timer.d.ts +30 -10
- package/dist/phaser/core/timer.d.ts.map +1 -1
- package/dist/phaser/core/timer_event.d.ts +11 -12
- package/dist/phaser/core/timer_event.d.ts.map +1 -1
- package/dist/phaser/core/tween.d.ts +38 -14
- package/dist/phaser/core/tween.d.ts.map +1 -1
- package/dist/phaser/core/tween_data.d.ts +30 -5
- package/dist/phaser/core/tween_data.d.ts.map +1 -1
- package/dist/phaser/core/tween_easing.d.ts +31 -31
- package/dist/phaser/core/tween_easing.d.ts.map +1 -1
- package/dist/phaser/core/tween_manager.d.ts +8 -4
- package/dist/phaser/core/tween_manager.d.ts.map +1 -1
- package/dist/phaser/core/world.d.ts +1 -1
- package/dist/phaser/core/world.d.ts.map +1 -1
- package/dist/phaser/display/bitmap_text.d.ts +35 -20
- package/dist/phaser/display/bitmap_text.d.ts.map +1 -1
- package/dist/phaser/display/button.d.ts +24 -8
- package/dist/phaser/display/button.d.ts.map +1 -1
- package/dist/phaser/display/canvas/buffer.d.ts +6 -2
- package/dist/phaser/display/canvas/buffer.d.ts.map +1 -1
- package/dist/phaser/display/canvas/graphics.d.ts +3 -3
- package/dist/phaser/display/canvas/graphics.d.ts.map +1 -1
- package/dist/phaser/display/canvas/masker.d.ts.map +1 -1
- package/dist/phaser/display/canvas/pool.d.ts +2 -2
- package/dist/phaser/display/canvas/pool.d.ts.map +1 -1
- package/dist/phaser/display/canvas/renderer.d.ts +18 -5
- package/dist/phaser/display/canvas/renderer.d.ts.map +1 -1
- package/dist/phaser/display/canvas/tinter.d.ts +3 -3
- package/dist/phaser/display/canvas/tinter.d.ts.map +1 -1
- package/dist/phaser/display/canvas/util.d.ts +9 -9
- package/dist/phaser/display/canvas/util.d.ts.map +1 -1
- package/dist/phaser/display/display_object.d.ts +82 -23
- package/dist/phaser/display/display_object.d.ts.map +1 -1
- package/dist/phaser/display/graphics.d.ts +42 -16
- package/dist/phaser/display/graphics.d.ts.map +1 -1
- package/dist/phaser/display/graphics_data.d.ts +11 -1
- package/dist/phaser/display/graphics_data.d.ts.map +1 -1
- package/dist/phaser/display/graphics_data_util.d.ts +1 -1
- package/dist/phaser/display/graphics_data_util.d.ts.map +1 -1
- package/dist/phaser/display/group.d.ts +24 -9
- package/dist/phaser/display/group.d.ts.map +1 -1
- package/dist/phaser/display/image.d.ts +36 -13
- package/dist/phaser/display/image.d.ts.map +1 -1
- package/dist/phaser/display/sprite_batch.d.ts +1 -1
- package/dist/phaser/display/sprite_batch.d.ts.map +1 -1
- package/dist/phaser/display/sprite_util.d.ts +5 -5
- package/dist/phaser/display/sprite_util.d.ts.map +1 -1
- package/dist/phaser/display/text.d.ts +86 -66
- package/dist/phaser/display/text.d.ts.map +1 -1
- package/dist/phaser/display/webgl/abstract_filter.d.ts +8 -1
- package/dist/phaser/display/webgl/abstract_filter.d.ts.map +1 -1
- package/dist/phaser/display/webgl/base_texture.d.ts +14 -2
- package/dist/phaser/display/webgl/base_texture.d.ts.map +1 -1
- package/dist/phaser/display/webgl/blend_manager.d.ts +5 -2
- package/dist/phaser/display/webgl/blend_manager.d.ts.map +1 -1
- package/dist/phaser/display/webgl/earcut.d.ts +10 -10
- package/dist/phaser/display/webgl/earcut.d.ts.map +1 -1
- package/dist/phaser/display/webgl/earcut_node.d.ts +1 -1
- package/dist/phaser/display/webgl/earcut_node.d.ts.map +1 -1
- package/dist/phaser/display/webgl/fast_sprite_batch.d.ts +17 -1
- package/dist/phaser/display/webgl/fast_sprite_batch.d.ts.map +1 -1
- package/dist/phaser/display/webgl/filter_manager.d.ts +5 -1
- package/dist/phaser/display/webgl/filter_manager.d.ts.map +1 -1
- package/dist/phaser/display/webgl/filter_texture.d.ts +7 -2
- package/dist/phaser/display/webgl/filter_texture.d.ts.map +1 -1
- package/dist/phaser/display/webgl/graphics.d.ts +11 -10
- package/dist/phaser/display/webgl/graphics.d.ts.map +1 -1
- package/dist/phaser/display/webgl/graphics_data.d.ts +11 -1
- package/dist/phaser/display/webgl/graphics_data.d.ts.map +1 -1
- package/dist/phaser/display/webgl/mask_manager.d.ts.map +1 -1
- package/dist/phaser/display/webgl/render_texture.d.ts +12 -1
- package/dist/phaser/display/webgl/render_texture.d.ts.map +1 -1
- package/dist/phaser/display/webgl/renderer.d.ts +25 -6
- package/dist/phaser/display/webgl/renderer.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader/complex.d.ts +7 -1
- package/dist/phaser/display/webgl/shader/complex.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader/fast.d.ts +8 -1
- package/dist/phaser/display/webgl/shader/fast.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader/normal.d.ts +11 -0
- package/dist/phaser/display/webgl/shader/normal.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader/primitive.d.ts +7 -1
- package/dist/phaser/display/webgl/shader/primitive.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader/strip.d.ts +7 -1
- package/dist/phaser/display/webgl/shader/strip.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader_manager.d.ts +14 -2
- package/dist/phaser/display/webgl/shader_manager.d.ts.map +1 -1
- package/dist/phaser/display/webgl/sprite_batch.d.ts +19 -2
- package/dist/phaser/display/webgl/sprite_batch.d.ts.map +1 -1
- package/dist/phaser/display/webgl/stencil_manager.d.ts +8 -4
- package/dist/phaser/display/webgl/stencil_manager.d.ts.map +1 -1
- package/dist/phaser/display/webgl/texture.d.ts +35 -2
- package/dist/phaser/display/webgl/texture.d.ts.map +1 -1
- package/dist/phaser/display/webgl/texture_util.d.ts +2 -2
- package/dist/phaser/display/webgl/texture_util.d.ts.map +1 -1
- package/dist/phaser/display/webgl/util.d.ts +6 -6
- package/dist/phaser/display/webgl/util.d.ts.map +1 -1
- package/dist/phaser/geom/circle.d.ts +11 -10
- package/dist/phaser/geom/circle.d.ts.map +1 -1
- package/dist/phaser/geom/ellipse.d.ts +6 -5
- package/dist/phaser/geom/ellipse.d.ts.map +1 -1
- package/dist/phaser/geom/line.d.ts +14 -14
- package/dist/phaser/geom/line.d.ts.map +1 -1
- package/dist/phaser/geom/matrix.d.ts +13 -12
- package/dist/phaser/geom/matrix.d.ts.map +1 -1
- package/dist/phaser/geom/point.d.ts +19 -19
- package/dist/phaser/geom/point.d.ts.map +1 -1
- package/dist/phaser/geom/polygon.d.ts +6 -6
- package/dist/phaser/geom/polygon.d.ts.map +1 -1
- package/dist/phaser/geom/rectangle.d.ts +20 -20
- package/dist/phaser/geom/rectangle.d.ts.map +1 -1
- package/dist/phaser/geom/rounded_rectangle.d.ts +2 -2
- package/dist/phaser/geom/rounded_rectangle.d.ts.map +1 -1
- package/dist/phaser/geom/util/circle.d.ts +9 -7
- package/dist/phaser/geom/util/circle.d.ts.map +1 -1
- package/dist/phaser/geom/util/ellipse.d.ts +1 -1
- package/dist/phaser/geom/util/ellipse.d.ts.map +1 -1
- package/dist/phaser/geom/util/line.d.ts +5 -3
- package/dist/phaser/geom/util/line.d.ts.map +1 -1
- package/dist/phaser/geom/util/matrix.d.ts +2 -1
- package/dist/phaser/geom/util/matrix.d.ts.map +1 -1
- package/dist/phaser/geom/util/point.d.ts +19 -19
- package/dist/phaser/geom/util/point.d.ts.map +1 -1
- package/dist/phaser/geom/util/polygon.d.ts +2 -1
- package/dist/phaser/geom/util/polygon.d.ts.map +1 -1
- package/dist/phaser/geom/util/rectangle.d.ts +17 -15
- package/dist/phaser/geom/util/rectangle.d.ts.map +1 -1
- package/dist/phaser/geom/util/rounded_rectangle.d.ts +2 -1
- package/dist/phaser/geom/util/rounded_rectangle.d.ts.map +1 -1
- package/dist/phaser/util/math.d.ts +51 -142
- package/dist/phaser/util/math.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/phaser/core/animation.ts +41 -18
- package/src/phaser/core/animation_manager.ts +21 -12
- package/src/phaser/core/animation_parser.ts +11 -3
- package/src/phaser/core/array_set.ts +8 -8
- package/src/phaser/core/cache.ts +75 -60
- package/src/phaser/core/device.ts +23 -1
- package/src/phaser/core/device_util.ts +10 -10
- package/src/phaser/core/dom.ts +5 -5
- package/src/phaser/core/event_manager.ts +52 -177
- package/src/phaser/core/factory.ts +25 -17
- package/src/phaser/core/frame.ts +37 -51
- package/src/phaser/core/frame_data.ts +29 -74
- package/src/phaser/core/frame_util.ts +3 -16
- package/src/phaser/core/game.ts +40 -11
- package/src/phaser/core/input.ts +68 -17
- package/src/phaser/core/input_handler.ts +81 -45
- package/src/phaser/core/input_mouse.ts +42 -13
- package/src/phaser/core/input_mspointer.ts +24 -9
- package/src/phaser/core/input_pointer.ts +55 -12
- package/src/phaser/core/input_touch.ts +26 -9
- package/src/phaser/core/loader.ts +97 -42
- package/src/phaser/core/loader_parser.ts +6 -7
- package/src/phaser/core/raf.ts +2 -2
- package/src/phaser/core/scale_manager.ts +85 -27
- package/src/phaser/core/scene.ts +3 -2
- package/src/phaser/core/scene_manager.ts +26 -11
- package/src/phaser/core/signal.ts +10 -10
- package/src/phaser/core/signal_binding.ts +2 -2
- package/src/phaser/core/sound.ts +72 -26
- package/src/phaser/core/sound_manager.ts +31 -13
- package/src/phaser/core/sound_sprite.ts +10 -5
- package/src/phaser/core/stage.ts +8 -4
- package/src/phaser/core/time.ts +33 -7
- package/src/phaser/core/timer.ts +40 -14
- package/src/phaser/core/timer_event.ts +23 -14
- package/src/phaser/core/tween.ts +43 -23
- package/src/phaser/core/tween_data.ts +31 -7
- package/src/phaser/core/tween_easing.ts +31 -31
- package/src/phaser/core/tween_manager.ts +10 -7
- package/src/phaser/core/world.ts +1 -2
- package/src/phaser/display/bitmap_text.ts +41 -18
- package/src/phaser/display/button.ts +24 -23
- package/src/phaser/display/canvas/buffer.ts +6 -3
- package/src/phaser/display/canvas/graphics.ts +3 -4
- package/src/phaser/display/canvas/masker.ts +2 -3
- package/src/phaser/display/canvas/pool.ts +3 -4
- package/src/phaser/display/canvas/renderer.ts +19 -7
- package/src/phaser/display/canvas/tinter.ts +4 -5
- package/src/phaser/display/canvas/util.ts +9 -9
- package/src/phaser/display/display_object.ts +120 -61
- package/src/phaser/display/graphics.ts +56 -25
- package/src/phaser/display/graphics_data.ts +11 -2
- package/src/phaser/display/graphics_data_util.ts +1 -2
- package/src/phaser/display/group.ts +32 -14
- package/src/phaser/display/image.ts +37 -19
- package/src/phaser/display/sprite_batch.ts +1 -2
- package/src/phaser/display/sprite_util.ts +5 -6
- package/src/phaser/display/text.ts +82 -56
- package/src/phaser/display/webgl/abstract_filter.ts +8 -2
- package/src/phaser/display/webgl/base_texture.ts +14 -3
- package/src/phaser/display/webgl/blend_manager.ts +5 -3
- package/src/phaser/display/webgl/earcut.ts +27 -27
- package/src/phaser/display/webgl/earcut_node.ts +1 -1
- package/src/phaser/display/webgl/fast_sprite_batch.ts +19 -4
- package/src/phaser/display/webgl/filter_manager.ts +5 -2
- package/src/phaser/display/webgl/filter_texture.ts +7 -3
- package/src/phaser/display/webgl/graphics.ts +10 -11
- package/src/phaser/display/webgl/graphics_data.ts +11 -2
- package/src/phaser/display/webgl/mask_manager.ts +2 -3
- package/src/phaser/display/webgl/render_texture.ts +12 -2
- package/src/phaser/display/webgl/renderer.ts +24 -7
- package/src/phaser/display/webgl/shader/complex.ts +7 -2
- package/src/phaser/display/webgl/shader/fast.ts +8 -2
- package/src/phaser/display/webgl/shader/normal.ts +12 -2
- package/src/phaser/display/webgl/shader/primitive.ts +7 -2
- package/src/phaser/display/webgl/shader/strip.ts +7 -2
- package/src/phaser/display/webgl/shader_manager.ts +13 -3
- package/src/phaser/display/webgl/sprite_batch.ts +20 -4
- package/src/phaser/display/webgl/stencil_manager.ts +8 -5
- package/src/phaser/display/webgl/texture.ts +35 -4
- package/src/phaser/display/webgl/texture_util.ts +2 -3
- package/src/phaser/display/webgl/util.ts +6 -6
- package/src/phaser/geom/circle.ts +10 -10
- package/src/phaser/geom/ellipse.ts +6 -6
- package/src/phaser/geom/line.ts +14 -14
- package/src/phaser/geom/matrix.ts +12 -12
- package/src/phaser/geom/point.ts +19 -19
- package/src/phaser/geom/polygon.ts +5 -5
- package/src/phaser/geom/rectangle.ts +21 -21
- package/src/phaser/geom/rounded_rectangle.ts +2 -2
- package/src/phaser/geom/util/circle.ts +7 -7
- package/src/phaser/geom/util/ellipse.ts +1 -1
- package/src/phaser/geom/util/line.ts +5 -5
- package/src/phaser/geom/util/matrix.ts +1 -1
- package/src/phaser/geom/util/point.ts +20 -20
- package/src/phaser/geom/util/polygon.ts +1 -1
- package/src/phaser/geom/util/rectangle.ts +15 -15
- package/src/phaser/geom/util/rounded_rectangle.ts +1 -1
- package/src/phaser/util/math.ts +65 -151
|
@@ -1,15 +1,20 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
1
|
import { v4 as uuidv4 } from 'uuid';
|
|
3
2
|
import { compileProgram } from '../util.js';
|
|
4
3
|
|
|
5
4
|
// the next one is used for rendering primitives
|
|
6
5
|
|
|
7
6
|
export class PrimitiveShader {
|
|
7
|
+
[key: string]: any;
|
|
8
|
+
gl!: any;
|
|
9
|
+
_UID!: any;
|
|
10
|
+
program!: any;
|
|
11
|
+
fragmentSrc!: any;
|
|
12
|
+
vertexSrc!: any;
|
|
8
13
|
/**
|
|
9
14
|
* Creates a new PrimitiveShader instance.
|
|
10
15
|
* @param {WebGLRenderingContext} gl - The WebGL rendering context.
|
|
11
16
|
*/
|
|
12
|
-
constructor(gl) {
|
|
17
|
+
constructor(gl: WebGLRenderingContext) {
|
|
13
18
|
this.gl = gl;
|
|
14
19
|
this._UID = uuidv4();
|
|
15
20
|
/** @type {WebGLProgram} */
|
|
@@ -1,15 +1,20 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
1
|
import { v4 as uuidv4 } from 'uuid';
|
|
3
2
|
import { compileProgram } from '../util.js';
|
|
4
3
|
|
|
5
4
|
// the next one is used for rendering triangle strips
|
|
6
5
|
|
|
7
6
|
export class StripShader {
|
|
7
|
+
[key: string]: any;
|
|
8
|
+
gl!: any;
|
|
9
|
+
_UID!: any;
|
|
10
|
+
program!: any;
|
|
11
|
+
fragmentSrc!: any;
|
|
12
|
+
vertexSrc!: any;
|
|
8
13
|
/**
|
|
9
14
|
* Creates a new StripShader instance.
|
|
10
15
|
* @param {WebGLRenderingContext} gl - The WebGL rendering context.
|
|
11
16
|
*/
|
|
12
|
-
constructor(gl) {
|
|
17
|
+
constructor(gl: WebGLRenderingContext) {
|
|
13
18
|
this.gl = gl;
|
|
14
19
|
this._UID = uuidv4();
|
|
15
20
|
/** @type {WebGLProgram} */
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
1
|
import { ComplexPrimitiveShader } from './shader/complex.js';
|
|
3
2
|
import { FastShader } from './shader/fast.js';
|
|
4
3
|
import { NormalShader } from './shader/normal.js';
|
|
@@ -6,6 +5,17 @@ import { PrimitiveShader } from './shader/primitive.js';
|
|
|
6
5
|
import { StripShader } from './shader/strip.js';
|
|
7
6
|
|
|
8
7
|
export class WebGLShaderManager {
|
|
8
|
+
[key: string]: any;
|
|
9
|
+
gl!: any;
|
|
10
|
+
primitiveShader!: any;
|
|
11
|
+
complexPrimitiveShader!: any;
|
|
12
|
+
defaultShader!: any;
|
|
13
|
+
fastShader!: any;
|
|
14
|
+
stripShader!: any;
|
|
15
|
+
maxAttibs!: any;
|
|
16
|
+
attribState!: any;
|
|
17
|
+
tempAttribState!: any;
|
|
18
|
+
stack!: any;
|
|
9
19
|
/**
|
|
10
20
|
* Initializes the shader manager with a WebGL context.
|
|
11
21
|
*/
|
|
@@ -43,7 +53,7 @@ export class WebGLShaderManager {
|
|
|
43
53
|
* Sets up the shader manager for WebGL rendering.
|
|
44
54
|
* @param {number[]} attribs - The attribute locations to set up.
|
|
45
55
|
*/
|
|
46
|
-
setAttribs(attribs) {
|
|
56
|
+
setAttribs(attribs: number[]) {
|
|
47
57
|
// reset temp state
|
|
48
58
|
let i;
|
|
49
59
|
for (i = 0; i < this.tempAttribState.length; i += 1) {
|
|
@@ -72,7 +82,7 @@ export class WebGLShaderManager {
|
|
|
72
82
|
* @param {NormalShader} shader - The shader to set up.
|
|
73
83
|
* @returns {boolean} Whether the shader setup was successful.
|
|
74
84
|
*/
|
|
75
|
-
setShader(shader) {
|
|
85
|
+
setShader(shader: NormalShader) {
|
|
76
86
|
if (this._currentId === shader._UID) {
|
|
77
87
|
return false;
|
|
78
88
|
}
|
|
@@ -1,8 +1,24 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
1
|
import { AbstractFilter } from './abstract_filter.js';
|
|
3
2
|
import { NormalShader } from './shader/normal.js';
|
|
4
3
|
|
|
5
4
|
export class WebGLSpriteBatch {
|
|
5
|
+
[key: string]: any;
|
|
6
|
+
vertSize!: any;
|
|
7
|
+
size!: any;
|
|
8
|
+
vertices!: any;
|
|
9
|
+
positions!: any;
|
|
10
|
+
colors!: any;
|
|
11
|
+
indices!: any;
|
|
12
|
+
lastIndexCount!: any;
|
|
13
|
+
drawing!: any;
|
|
14
|
+
currentBatchSize!: any;
|
|
15
|
+
currentBaseTexture!: any;
|
|
16
|
+
dirty!: any;
|
|
17
|
+
textures!: any;
|
|
18
|
+
blendModes!: any;
|
|
19
|
+
shaders!: any;
|
|
20
|
+
sprites!: any;
|
|
21
|
+
defaultShader!: any;
|
|
6
22
|
/**
|
|
7
23
|
* Creates a new SpriteBatch instance.
|
|
8
24
|
*/
|
|
@@ -72,7 +88,7 @@ export class WebGLSpriteBatch {
|
|
|
72
88
|
* Renders the sprite batch using WebGL.
|
|
73
89
|
* @param {object} renderSession - The render session to use.
|
|
74
90
|
*/
|
|
75
|
-
begin(renderSession) {
|
|
91
|
+
begin(renderSession: any) {
|
|
76
92
|
this.renderSession = renderSession;
|
|
77
93
|
this.shader = this.renderSession.shaderManager.defaultShader;
|
|
78
94
|
this.start();
|
|
@@ -90,7 +106,7 @@ export class WebGLSpriteBatch {
|
|
|
90
106
|
* @param {import('../../display/image.js').Image} sprite - The sprite to render.
|
|
91
107
|
* @param {import('../../geom/matrix.js').Matrix} matrix - The transformation matrix.
|
|
92
108
|
*/
|
|
93
|
-
render(sprite, matrix) {
|
|
109
|
+
render(sprite: import('../../display/image.js').Image, matrix: import('../../geom/matrix.js').Matrix) {
|
|
94
110
|
const texture = sprite.texture;
|
|
95
111
|
// They provided an alternative rendering matrix, so use it
|
|
96
112
|
let wt = sprite.worldTransform;
|
|
@@ -299,7 +315,7 @@ export class WebGLSpriteBatch {
|
|
|
299
315
|
* @param {number} size - The size of the batch.
|
|
300
316
|
* @param {number} startIndex - The start index in the batch.
|
|
301
317
|
*/
|
|
302
|
-
renderBatch(texture, size, startIndex) {
|
|
318
|
+
renderBatch(texture: import('./base_texture.js').BaseTexture, size: number, startIndex: number) {
|
|
303
319
|
if (size === 0) {
|
|
304
320
|
return;
|
|
305
321
|
}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
1
|
import { hex2rgb } from '../../util/math.js';
|
|
3
2
|
|
|
4
3
|
export class WebGLStencilManager {
|
|
4
|
+
[key: string]: any;
|
|
5
|
+
stencilStack!: any;
|
|
6
|
+
reverse!: any;
|
|
7
|
+
count!: any;
|
|
5
8
|
/**
|
|
6
9
|
* Initializes the stencil manager.
|
|
7
10
|
*/
|
|
@@ -15,7 +18,7 @@ export class WebGLStencilManager {
|
|
|
15
18
|
* Binds the stencil buffer for rendering.
|
|
16
19
|
* @param {WebGLRenderingContext} gl - The WebGL rendering context.
|
|
17
20
|
*/
|
|
18
|
-
setContext(gl) {
|
|
21
|
+
setContext(gl: WebGLRenderingContext) {
|
|
19
22
|
this.gl = gl;
|
|
20
23
|
}
|
|
21
24
|
|
|
@@ -33,7 +36,7 @@ export class WebGLStencilManager {
|
|
|
33
36
|
* @param {import('./graphics_data.js').GraphicsData} webGLData - The WebGL graphics data.
|
|
34
37
|
* @param {object} renderSession - The rendering session.
|
|
35
38
|
*/
|
|
36
|
-
pushStencil(graphics, webGLData, renderSession) {
|
|
39
|
+
pushStencil(graphics: import('../graphics.js').Graphics, webGLData: import('./graphics_data.js').GraphicsData, renderSession: any) {
|
|
37
40
|
const gl = renderSession.gl;
|
|
38
41
|
this.bindGraphics(graphics, webGLData, renderSession);
|
|
39
42
|
if (this.stencilStack.length === 0) {
|
|
@@ -91,7 +94,7 @@ export class WebGLStencilManager {
|
|
|
91
94
|
* @param {import('./graphics_data.js').GraphicsData} webGLData - The WebGL graphics data.
|
|
92
95
|
* @param {object} renderSession - The rendering session.
|
|
93
96
|
*/
|
|
94
|
-
bindGraphics(graphics, webGLData, renderSession) {
|
|
97
|
+
bindGraphics(graphics: import('../graphics.js').Graphics, webGLData: import('./graphics_data.js').GraphicsData, renderSession: any) {
|
|
95
98
|
// if(this._currentGraphics === graphics)return;
|
|
96
99
|
// this._currentGraphics = graphics;
|
|
97
100
|
const gl = renderSession.gl;
|
|
@@ -138,7 +141,7 @@ export class WebGLStencilManager {
|
|
|
138
141
|
* @param {import('./graphics_data.js').GraphicsData} webGLData - The WebGL graphics data.
|
|
139
142
|
* @param {object} renderSession - The rendering session.
|
|
140
143
|
*/
|
|
141
|
-
popStencil(graphics, webGLData, renderSession) {
|
|
144
|
+
popStencil(graphics: import('../graphics.js').Graphics, webGLData: import('./graphics_data.js').GraphicsData, renderSession: any) {
|
|
142
145
|
const gl = renderSession.gl;
|
|
143
146
|
this.stencilStack.pop();
|
|
144
147
|
this.count -= 1;
|
|
@@ -1,7 +1,26 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
1
|
import { Rectangle } from '../../geom/rectangle.js';
|
|
3
2
|
|
|
4
3
|
export class TextureUvs {
|
|
4
|
+
noFrame!: any;
|
|
5
|
+
baseTexture!: any;
|
|
6
|
+
frame!: any;
|
|
7
|
+
trim!: any;
|
|
8
|
+
valid!: any;
|
|
9
|
+
isTiling!: any;
|
|
10
|
+
requiresUpdate!: any;
|
|
11
|
+
requiresReTint!: any;
|
|
12
|
+
_uvs!: any;
|
|
13
|
+
width!: any;
|
|
14
|
+
height!: any;
|
|
15
|
+
crop!: any;
|
|
16
|
+
x0!: any;
|
|
17
|
+
y0!: any;
|
|
18
|
+
x1!: any;
|
|
19
|
+
y1!: any;
|
|
20
|
+
x2!: any;
|
|
21
|
+
y2!: any;
|
|
22
|
+
x3!: any;
|
|
23
|
+
y3!: any;
|
|
5
24
|
/**
|
|
6
25
|
* Creates a new Texture instance.
|
|
7
26
|
*/
|
|
@@ -18,6 +37,18 @@ export class TextureUvs {
|
|
|
18
37
|
}
|
|
19
38
|
|
|
20
39
|
export class Texture {
|
|
40
|
+
noFrame!: any;
|
|
41
|
+
baseTexture!: any;
|
|
42
|
+
frame!: any;
|
|
43
|
+
trim!: any;
|
|
44
|
+
valid!: any;
|
|
45
|
+
isTiling!: any;
|
|
46
|
+
requiresUpdate!: any;
|
|
47
|
+
requiresReTint!: any;
|
|
48
|
+
_uvs!: any;
|
|
49
|
+
width!: any;
|
|
50
|
+
height!: any;
|
|
51
|
+
crop!: any;
|
|
21
52
|
/**
|
|
22
53
|
* Creates a new Texture instance.
|
|
23
54
|
* @param {import('./base_texture.js').BaseTexture} baseTexture - The base texture to use.
|
|
@@ -25,7 +56,7 @@ export class Texture {
|
|
|
25
56
|
* @param {Rectangle | null | undefined} crop - The crop rectangle.
|
|
26
57
|
* @param {Rectangle | null | undefined} trim - The trim rectangle.
|
|
27
58
|
*/
|
|
28
|
-
constructor(baseTexture, frame = null, crop = null, trim = null) {
|
|
59
|
+
constructor(baseTexture: import('./base_texture.js').BaseTexture, frame: Rectangle | null | undefined = null, crop: Rectangle | null | undefined = null, trim: Rectangle | null | undefined = null) {
|
|
29
60
|
this.noFrame = false;
|
|
30
61
|
if (!frame) {
|
|
31
62
|
this.noFrame = true;
|
|
@@ -77,7 +108,7 @@ export class Texture {
|
|
|
77
108
|
* Destroys this texture and cleans up resources.
|
|
78
109
|
* @param {boolean} destroyBase - Whether to destroy the base texture as well.
|
|
79
110
|
*/
|
|
80
|
-
destroy(destroyBase = false) {
|
|
111
|
+
destroy(destroyBase: boolean = false) {
|
|
81
112
|
if (destroyBase) {
|
|
82
113
|
this.baseTexture.destroy();
|
|
83
114
|
}
|
|
@@ -89,7 +120,7 @@ export class Texture {
|
|
|
89
120
|
* @param {Rectangle} frame - The new frame rectangle.
|
|
90
121
|
* @throws {Error} If the operation fails.
|
|
91
122
|
*/
|
|
92
|
-
setFrame(frame) {
|
|
123
|
+
setFrame(frame: Rectangle) {
|
|
93
124
|
this.noFrame = false;
|
|
94
125
|
this.frame = frame;
|
|
95
126
|
this.width = frame.width;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
1
|
import { BaseTexture } from './base_texture.js';
|
|
3
2
|
import { Texture } from './texture.js';
|
|
4
3
|
|
|
@@ -8,7 +7,7 @@ import { Texture } from './texture.js';
|
|
|
8
7
|
* @param {number} [scaleMode] - The scale mode to use for the texture.
|
|
9
8
|
* @returns {BaseTexture} The newly created BaseTexture instance.
|
|
10
9
|
*/
|
|
11
|
-
export const baseTextureFromCanvas = (canvas, scaleMode) => {
|
|
10
|
+
export const baseTextureFromCanvas = (canvas: HTMLCanvasElement, scaleMode: number) => {
|
|
12
11
|
if (canvas.width === 0) {
|
|
13
12
|
canvas.width = 1;
|
|
14
13
|
}
|
|
@@ -24,6 +23,6 @@ export const baseTextureFromCanvas = (canvas, scaleMode) => {
|
|
|
24
23
|
* @param {number} [scaleMode] - The scale mode to use for the texture.
|
|
25
24
|
* @returns {Texture} The newly created Texture instance.
|
|
26
25
|
*/
|
|
27
|
-
export const textureFromCanvas = (canvas, scaleMode) => {
|
|
26
|
+
export const textureFromCanvas = (canvas: HTMLCanvasElement, scaleMode?: any) => {
|
|
28
27
|
return new Texture(baseTextureFromCanvas(canvas, scaleMode));
|
|
29
28
|
};
|
|
@@ -18,7 +18,7 @@ export const CONTEXT_LOST_WEBGL = 0x9242;
|
|
|
18
18
|
* @param {WebGLRenderingContext} gl - The WebGL rendering context.
|
|
19
19
|
* @returns {number} The error code from the WebGL context.
|
|
20
20
|
*/
|
|
21
|
-
export const getWebGLContextErrorCode = (gl) => {
|
|
21
|
+
export const getWebGLContextErrorCode = (gl: WebGLRenderingContext) => {
|
|
22
22
|
return gl?.getError() ?? 0;
|
|
23
23
|
};
|
|
24
24
|
|
|
@@ -27,7 +27,7 @@ export const getWebGLContextErrorCode = (gl) => {
|
|
|
27
27
|
* @param {number} errorCode - The error code to look up.
|
|
28
28
|
* @returns {string} The name of the WebGL error.
|
|
29
29
|
*/
|
|
30
|
-
export const getWebGLContextErrorName = (errorCode) => {
|
|
30
|
+
export const getWebGLContextErrorName = (errorCode: number) => {
|
|
31
31
|
switch (errorCode) {
|
|
32
32
|
case NO_ERROR:
|
|
33
33
|
return 'NO_ERROR';
|
|
@@ -60,7 +60,7 @@ export const initDefaultShaders = () => {};
|
|
|
60
60
|
* @param {object} shaderType - The type of shader to compile.
|
|
61
61
|
* @returns {WebGLShader} The compiled WebGL shader or null if compilation failed.
|
|
62
62
|
*/
|
|
63
|
-
export const compileShader = (gl, shaderSrc, shaderType) => {
|
|
63
|
+
export const compileShader = (gl: WebGLRenderingContext, shaderSrc: string[]|string, shaderType: any) => {
|
|
64
64
|
const src = Array.isArray(shaderSrc) ? shaderSrc.join('\n') : shaderSrc;
|
|
65
65
|
const shader = gl.createShader(shaderType);
|
|
66
66
|
gl.shaderSource(shader, src);
|
|
@@ -81,7 +81,7 @@ export const compileShader = (gl, shaderSrc, shaderType) => {
|
|
|
81
81
|
* @param {string[]|string} shaderSrc - The vertex shader source code.
|
|
82
82
|
* @returns {WebGLShader} The compiled WebGL vertex shader or null if compilation failed.
|
|
83
83
|
*/
|
|
84
|
-
export const compileVertexShader = (gl, shaderSrc) => {
|
|
84
|
+
export const compileVertexShader = (gl: WebGLRenderingContext, shaderSrc: string[]|string) => {
|
|
85
85
|
return compileShader(gl, shaderSrc, gl.VERTEX_SHADER);
|
|
86
86
|
};
|
|
87
87
|
|
|
@@ -91,7 +91,7 @@ export const compileVertexShader = (gl, shaderSrc) => {
|
|
|
91
91
|
* @param {string[]|string} shaderSrc - The fragment shader source code.
|
|
92
92
|
* @returns {WebGLShader} The compiled WebGL fragment shader or null if compilation failed.
|
|
93
93
|
*/
|
|
94
|
-
export const compileFragmentShader = (gl, shaderSrc) => {
|
|
94
|
+
export const compileFragmentShader = (gl: WebGLRenderingContext, shaderSrc: string[]|string) => {
|
|
95
95
|
return compileShader(gl, shaderSrc, gl.FRAGMENT_SHADER);
|
|
96
96
|
};
|
|
97
97
|
|
|
@@ -102,7 +102,7 @@ export const compileFragmentShader = (gl, shaderSrc) => {
|
|
|
102
102
|
* @param {string[]|string} fragmentSrc - The fragment shader source code.
|
|
103
103
|
* @returns {WebGLProgram} The compiled WebGL shader program or null if compilation failed.
|
|
104
104
|
*/
|
|
105
|
-
export const compileProgram = (gl, vertexSrc, fragmentSrc) => {
|
|
105
|
+
export const compileProgram = (gl: WebGLRenderingContext, vertexSrc: string[]|string, fragmentSrc: string[]|string) => {
|
|
106
106
|
const fragmentShader = compileFragmentShader(gl, fragmentSrc);
|
|
107
107
|
const vertexShader = compileVertexShader(gl, vertexSrc);
|
|
108
108
|
|
|
@@ -17,7 +17,7 @@ export class Circle {
|
|
|
17
17
|
* @param {number} y - The y coordinate of the center point (default: 0).
|
|
18
18
|
* @param {number} diameter - The diameter of the circle (default: 0).
|
|
19
19
|
*/
|
|
20
|
-
constructor(x = 0, y = 0, diameter = 0) {
|
|
20
|
+
constructor(x: number = 0, y: number = 0, diameter: number = 0) {
|
|
21
21
|
/** @type {number} */
|
|
22
22
|
this.x = x;
|
|
23
23
|
/** @type {number} */
|
|
@@ -46,7 +46,7 @@ export class Circle {
|
|
|
46
46
|
* @param {Point} output - The point to store the result in (optional).
|
|
47
47
|
* @returns {Point} A random point within this circle.
|
|
48
48
|
*/
|
|
49
|
-
random(output = null) {
|
|
49
|
+
random(output: Point = null) {
|
|
50
50
|
const result = output || new Point();
|
|
51
51
|
const t = 2 * Math.PI * Math.random();
|
|
52
52
|
const u = Math.random() + Math.random();
|
|
@@ -73,7 +73,7 @@ export class Circle {
|
|
|
73
73
|
* @param {number} diameter - The new diameter of the circle.
|
|
74
74
|
* @returns {Circle} This circle instance for chaining.
|
|
75
75
|
*/
|
|
76
|
-
setTo(x, y, diameter) {
|
|
76
|
+
setTo(x: number, y: number, diameter: number) {
|
|
77
77
|
this.x = x;
|
|
78
78
|
this.y = y;
|
|
79
79
|
this._diameter = diameter;
|
|
@@ -86,7 +86,7 @@ export class Circle {
|
|
|
86
86
|
* @param {Circle} source - The circle to copy values from.
|
|
87
87
|
* @returns {Circle} This circle instance for chaining.
|
|
88
88
|
*/
|
|
89
|
-
copyFrom(source) {
|
|
89
|
+
copyFrom(source: Circle) {
|
|
90
90
|
return this.setTo(source.x, source.y, source.diameter);
|
|
91
91
|
}
|
|
92
92
|
|
|
@@ -95,7 +95,7 @@ export class Circle {
|
|
|
95
95
|
* @param {Circle} dest - The circle to copy values to.
|
|
96
96
|
* @returns {Circle} The destination circle.
|
|
97
97
|
*/
|
|
98
|
-
copyTo(dest) {
|
|
98
|
+
copyTo(dest: Circle) {
|
|
99
99
|
dest.x = this.x;
|
|
100
100
|
dest.y = this.y;
|
|
101
101
|
dest.diameter = this._diameter;
|
|
@@ -108,7 +108,7 @@ export class Circle {
|
|
|
108
108
|
* @param {boolean} round - Whether to round the result (default: false).
|
|
109
109
|
* @returns {number} The distance between the circles.
|
|
110
110
|
*/
|
|
111
|
-
distance(dest, round = false) {
|
|
111
|
+
distance(dest: Circle, round: boolean = false) {
|
|
112
112
|
const d = distance(this.x, this.y, dest.x, dest.y);
|
|
113
113
|
return round ? Math.round(d) : d;
|
|
114
114
|
}
|
|
@@ -127,7 +127,7 @@ export class Circle {
|
|
|
127
127
|
* @param {number} y - The y coordinate of the point to check.
|
|
128
128
|
* @returns {boolean} True if the point is contained within this circle, false otherwise.
|
|
129
129
|
*/
|
|
130
|
-
contains(x, y) {
|
|
130
|
+
contains(x: number, y: number) {
|
|
131
131
|
return contains(this, x, y);
|
|
132
132
|
}
|
|
133
133
|
|
|
@@ -138,7 +138,7 @@ export class Circle {
|
|
|
138
138
|
* @param {Point} out - The point to store the result in (optional).
|
|
139
139
|
* @returns {Point} A point at the specified angle on the circumference of this circle.
|
|
140
140
|
*/
|
|
141
|
-
circumferencePoint(angle, asDegrees
|
|
141
|
+
circumferencePoint(angle: number, asDegrees?: boolean, out?: Point) {
|
|
142
142
|
return circumferencePoint(this, angle, asDegrees, out);
|
|
143
143
|
}
|
|
144
144
|
|
|
@@ -148,7 +148,7 @@ export class Circle {
|
|
|
148
148
|
* @param {number} dy - The amount to offset the y coordinate by.
|
|
149
149
|
* @returns {Circle} This circle instance for chaining.
|
|
150
150
|
*/
|
|
151
|
-
offset(dx, dy) {
|
|
151
|
+
offset(dx: number, dy: number) {
|
|
152
152
|
this.x += dx;
|
|
153
153
|
this.y += dy;
|
|
154
154
|
return this;
|
|
@@ -159,7 +159,7 @@ export class Circle {
|
|
|
159
159
|
* @param {Point} point - The point to offset the circle by.
|
|
160
160
|
* @returns {Circle} This circle instance for chaining.
|
|
161
161
|
*/
|
|
162
|
-
offsetPoint(point) {
|
|
162
|
+
offsetPoint(point: Point) {
|
|
163
163
|
return this.offset(point.x, point.y);
|
|
164
164
|
}
|
|
165
165
|
|
|
@@ -17,7 +17,7 @@ export class Ellipse {
|
|
|
17
17
|
* @param {number} width - The width of the ellipse (default: 0).
|
|
18
18
|
* @param {number} height - The height of the ellipse (default: 0).
|
|
19
19
|
*/
|
|
20
|
-
constructor(x = 0, y = 0, width = 0, height = 0) {
|
|
20
|
+
constructor(x: number = 0, y: number = 0, width: number = 0, height: number = 0) {
|
|
21
21
|
/** @type {number} */
|
|
22
22
|
this.x = x;
|
|
23
23
|
/** @type {number} */
|
|
@@ -38,7 +38,7 @@ export class Ellipse {
|
|
|
38
38
|
* @param {number} height - The new height of the ellipse.
|
|
39
39
|
* @returns {Ellipse} This ellipse instance for chaining.
|
|
40
40
|
*/
|
|
41
|
-
setTo(x, y, width, height) {
|
|
41
|
+
setTo(x: number, y: number, width: number, height: number) {
|
|
42
42
|
this.x = x;
|
|
43
43
|
this.y = y;
|
|
44
44
|
this.width = width;
|
|
@@ -59,7 +59,7 @@ export class Ellipse {
|
|
|
59
59
|
* @param {Ellipse} source - The ellipse to copy values from.
|
|
60
60
|
* @returns {Ellipse} This ellipse instance for chaining.
|
|
61
61
|
*/
|
|
62
|
-
copyFrom(source) {
|
|
62
|
+
copyFrom(source: Ellipse) {
|
|
63
63
|
return this.setTo(source.x, source.y, source.width, source.height);
|
|
64
64
|
}
|
|
65
65
|
|
|
@@ -68,7 +68,7 @@ export class Ellipse {
|
|
|
68
68
|
* @param {Ellipse} dest - The ellipse to copy values to.
|
|
69
69
|
* @returns {Ellipse} The destination ellipse.
|
|
70
70
|
*/
|
|
71
|
-
copyTo(dest) {
|
|
71
|
+
copyTo(dest: Ellipse) {
|
|
72
72
|
dest.x = this.x;
|
|
73
73
|
dest.y = this.y;
|
|
74
74
|
dest.width = this.width;
|
|
@@ -82,7 +82,7 @@ export class Ellipse {
|
|
|
82
82
|
* @param {number} y - The y coordinate of the point to check.
|
|
83
83
|
* @returns {boolean} True if the point is contained within this ellipse, false otherwise.
|
|
84
84
|
*/
|
|
85
|
-
contains(x, y) {
|
|
85
|
+
contains(x: number, y: number) {
|
|
86
86
|
return contains(this, x, y);
|
|
87
87
|
}
|
|
88
88
|
|
|
@@ -91,7 +91,7 @@ export class Ellipse {
|
|
|
91
91
|
* @param {Point} output - The point to store the result in (optional).
|
|
92
92
|
* @returns {Point} A random point within this ellipse.
|
|
93
93
|
*/
|
|
94
|
-
random(output = null) {
|
|
94
|
+
random(output: Point = null) {
|
|
95
95
|
const result = output || new Point();
|
|
96
96
|
const p = Math.random() * Math.PI * 2;
|
|
97
97
|
const r = Math.random();
|
package/src/phaser/geom/line.ts
CHANGED
|
@@ -15,7 +15,7 @@ export class Line {
|
|
|
15
15
|
* @param {number} x2 - The x coordinate of the end point (default: 0).
|
|
16
16
|
* @param {number} y2 - The y coordinate of the end point (default: 0).
|
|
17
17
|
*/
|
|
18
|
-
constructor(x1 = 0, y1 = 0, x2 = 0, y2 = 0) {
|
|
18
|
+
constructor(x1: number = 0, y1: number = 0, x2: number = 0, y2: number = 0) {
|
|
19
19
|
/** @type {Point} */
|
|
20
20
|
this.start = new Point(x1, y1);
|
|
21
21
|
/** @type {Point} */
|
|
@@ -32,7 +32,7 @@ export class Line {
|
|
|
32
32
|
* @param {number} y2 - The new y coordinate of the end point.
|
|
33
33
|
* @returns {Line} This line instance for chaining.
|
|
34
34
|
*/
|
|
35
|
-
setTo(x1, y1, x2, y2) {
|
|
35
|
+
setTo(x1: number, y1: number, x2: number, y2: number) {
|
|
36
36
|
this.start.setTo(x1, y1);
|
|
37
37
|
this.end.setTo(x2, y2);
|
|
38
38
|
return this;
|
|
@@ -45,7 +45,7 @@ export class Line {
|
|
|
45
45
|
* @param {boolean} useCenter - Whether to use the center of the sprites (default: false).
|
|
46
46
|
* @returns {Line} This line instance for chaining.
|
|
47
47
|
*/
|
|
48
|
-
fromSprite(startSprite, endSprite, useCenter = false) {
|
|
48
|
+
fromSprite(startSprite: any, endSprite: any, useCenter: boolean = false) {
|
|
49
49
|
if (useCenter) {
|
|
50
50
|
return this.setTo(startSprite.center.x, startSprite.center.y, endSprite.center.x, endSprite.center.y);
|
|
51
51
|
}
|
|
@@ -60,7 +60,7 @@ export class Line {
|
|
|
60
60
|
* @param {number} length - The length of the line.
|
|
61
61
|
* @returns {Line} This line instance for chaining.
|
|
62
62
|
*/
|
|
63
|
-
fromAngle(x, y, angle, length) {
|
|
63
|
+
fromAngle(x: number, y: number, angle: number, length: number) {
|
|
64
64
|
this.start.setTo(x, y);
|
|
65
65
|
this.end.setTo(x + Math.cos(angle) * length, y + Math.sin(angle) * length);
|
|
66
66
|
return this;
|
|
@@ -72,7 +72,7 @@ export class Line {
|
|
|
72
72
|
* @param {boolean} asDegrees - Whether the angle is provided in degrees (default: false).
|
|
73
73
|
* @returns {Line} This line instance for chaining.
|
|
74
74
|
*/
|
|
75
|
-
rotate(angle, asDegrees = false) {
|
|
75
|
+
rotate(angle: number, asDegrees: boolean = false) {
|
|
76
76
|
const cx = (this.start.x + this.end.x) / 2;
|
|
77
77
|
const cy = (this.start.y + this.end.y) / 2;
|
|
78
78
|
this.start.rotate(cx, cy, angle, asDegrees);
|
|
@@ -88,7 +88,7 @@ export class Line {
|
|
|
88
88
|
* @param {boolean} asDegrees - Whether the angle is provided in degrees (default: false).
|
|
89
89
|
* @returns {Line} This line instance for chaining.
|
|
90
90
|
*/
|
|
91
|
-
rotateAround(x, y, angle, asDegrees = false) {
|
|
91
|
+
rotateAround(x: number, y: number, angle: number, asDegrees: boolean = false) {
|
|
92
92
|
this.start.rotate(x, y, angle, asDegrees);
|
|
93
93
|
this.end.rotate(x, y, angle, asDegrees);
|
|
94
94
|
return this;
|
|
@@ -101,7 +101,7 @@ export class Line {
|
|
|
101
101
|
* @param {Point} result - The point to store the intersection in (optional).
|
|
102
102
|
* @returns {Point} The intersection point, or null if no intersection occurs.
|
|
103
103
|
*/
|
|
104
|
-
intersects(line, asSegment, result) {
|
|
104
|
+
intersects(line: Line, asSegment: boolean, result: Point) {
|
|
105
105
|
return intersectsPoints(this.start, this.end, line.start, line.end, asSegment, result);
|
|
106
106
|
}
|
|
107
107
|
|
|
@@ -110,7 +110,7 @@ export class Line {
|
|
|
110
110
|
* @param {Line} line - The line to reflect off.
|
|
111
111
|
* @returns {number} The angle of reflection in radians.
|
|
112
112
|
*/
|
|
113
|
-
reflect(line) {
|
|
113
|
+
reflect(line: Line) {
|
|
114
114
|
return reflect(this, line);
|
|
115
115
|
}
|
|
116
116
|
|
|
@@ -119,7 +119,7 @@ export class Line {
|
|
|
119
119
|
* @param {Point} output - The point to store the result in (optional).
|
|
120
120
|
* @returns {Point} The midpoint of this line.
|
|
121
121
|
*/
|
|
122
|
-
midPoint(output = null) {
|
|
122
|
+
midPoint(output: Point = null) {
|
|
123
123
|
const result = output || new Point();
|
|
124
124
|
result.x = (this.start.x + this.end.x) / 2;
|
|
125
125
|
result.y = (this.start.y + this.end.y) / 2;
|
|
@@ -131,7 +131,7 @@ export class Line {
|
|
|
131
131
|
* @param {number} x - The x coordinate to center the line on.
|
|
132
132
|
* @param {number} y - The y coordinate to center the line on.
|
|
133
133
|
*/
|
|
134
|
-
centerOn(x, y) {
|
|
134
|
+
centerOn(x: number, y: number) {
|
|
135
135
|
const cx = (this.start.x + this.end.x) / 2;
|
|
136
136
|
const cy = (this.start.y + this.end.y) / 2;
|
|
137
137
|
const tx = x - cx;
|
|
@@ -146,7 +146,7 @@ export class Line {
|
|
|
146
146
|
* @param {number} y - The y coordinate of the point to check.
|
|
147
147
|
* @returns {boolean} True if the point lies on this line, false otherwise.
|
|
148
148
|
*/
|
|
149
|
-
pointOnLine(x, y) {
|
|
149
|
+
pointOnLine(x: number, y: number) {
|
|
150
150
|
return (x - this.start.x) * (this.end.y - this.start.y) === (this.end.x - this.start.x) * (y - this.start.y);
|
|
151
151
|
}
|
|
152
152
|
|
|
@@ -156,7 +156,7 @@ export class Line {
|
|
|
156
156
|
* @param {number} y - The y coordinate of the point to check.
|
|
157
157
|
* @returns {boolean} True if the point lies on this line segment, false otherwise.
|
|
158
158
|
*/
|
|
159
|
-
pointOnSegment(x, y) {
|
|
159
|
+
pointOnSegment(x: number, y: number) {
|
|
160
160
|
const xMin = Math.min(this.start.x, this.end.x);
|
|
161
161
|
const xMax = Math.max(this.start.x, this.end.x);
|
|
162
162
|
const yMin = Math.min(this.start.y, this.end.y);
|
|
@@ -169,7 +169,7 @@ export class Line {
|
|
|
169
169
|
* @param {Point} output - The point to store the result in (optional).
|
|
170
170
|
* @returns {Point} A random point on this line.
|
|
171
171
|
*/
|
|
172
|
-
random(output = null) {
|
|
172
|
+
random(output: Point = null) {
|
|
173
173
|
const result = output || new Point();
|
|
174
174
|
const t = Math.random();
|
|
175
175
|
result.x = this.start.x + t * (this.end.x - this.start.x);
|
|
@@ -183,7 +183,7 @@ export class Line {
|
|
|
183
183
|
* @param {number[][]} results - The array to store the results in (optional).
|
|
184
184
|
* @returns {number[][]} An array of coordinate pairs representing points along this line.
|
|
185
185
|
*/
|
|
186
|
-
coordinatesOnLine(stepRate = 1, results = []) {
|
|
186
|
+
coordinatesOnLine(stepRate: number = 1, results: number[][] = []) {
|
|
187
187
|
let x1 = Math.round(this.start.x);
|
|
188
188
|
let y1 = Math.round(this.start.y);
|
|
189
189
|
const x2 = Math.round(this.end.x);
|