@vpmedia/phaser 1.112.0 → 1.113.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 +1261 -1314
- package/dist/index.js.map +1 -1
- package/dist/phaser/core/animation.d.ts +14 -10
- package/dist/phaser/core/animation.d.ts.map +1 -1
- package/dist/phaser/core/animation_manager.d.ts +10 -8
- package/dist/phaser/core/animation_manager.d.ts.map +1 -1
- package/dist/phaser/core/animation_parser.d.ts +5 -4
- package/dist/phaser/core/animation_parser.d.ts.map +1 -1
- package/dist/phaser/core/array_set.d.ts.map +1 -1
- package/dist/phaser/core/cache.d.ts +4 -3
- package/dist/phaser/core/cache.d.ts.map +1 -1
- package/dist/phaser/core/const.d.ts.map +1 -1
- package/dist/phaser/core/device.d.ts.map +1 -1
- package/dist/phaser/core/device_util.d.ts.map +1 -1
- package/dist/phaser/core/dom.d.ts +3 -2
- package/dist/phaser/core/dom.d.ts.map +1 -1
- package/dist/phaser/core/event_manager.d.ts.map +1 -1
- package/dist/phaser/core/factory.d.ts +1 -1
- package/dist/phaser/core/factory.d.ts.map +1 -1
- package/dist/phaser/core/frame.d.ts.map +1 -1
- package/dist/phaser/core/frame_data.d.ts.map +1 -1
- package/dist/phaser/core/game.d.ts.map +1 -1
- package/dist/phaser/core/input.d.ts +8 -6
- package/dist/phaser/core/input.d.ts.map +1 -1
- package/dist/phaser/core/input_handler.d.ts +40 -30
- package/dist/phaser/core/input_handler.d.ts.map +1 -1
- package/dist/phaser/core/input_mouse.d.ts +3 -2
- package/dist/phaser/core/input_mouse.d.ts.map +1 -1
- package/dist/phaser/core/input_mspointer.d.ts +3 -2
- package/dist/phaser/core/input_mspointer.d.ts.map +1 -1
- package/dist/phaser/core/input_pointer.d.ts +6 -4
- package/dist/phaser/core/input_pointer.d.ts.map +1 -1
- package/dist/phaser/core/input_touch.d.ts +3 -2
- package/dist/phaser/core/input_touch.d.ts.map +1 -1
- package/dist/phaser/core/loader.d.ts +4 -3
- package/dist/phaser/core/loader.d.ts.map +1 -1
- package/dist/phaser/core/loader_parser.d.ts +9 -8
- package/dist/phaser/core/loader_parser.d.ts.map +1 -1
- package/dist/phaser/core/raf.d.ts +3 -2
- package/dist/phaser/core/raf.d.ts.map +1 -1
- package/dist/phaser/core/registry.d.ts +7 -0
- package/dist/phaser/core/registry.d.ts.map +1 -0
- package/dist/phaser/core/scale_manager.d.ts +1 -1
- package/dist/phaser/core/scale_manager.d.ts.map +1 -1
- package/dist/phaser/core/scene.d.ts +0 -1
- package/dist/phaser/core/scene.d.ts.map +1 -1
- package/dist/phaser/core/scene_manager.d.ts +1 -1
- package/dist/phaser/core/scene_manager.d.ts.map +1 -1
- package/dist/phaser/core/signal.d.ts +0 -1
- package/dist/phaser/core/signal.d.ts.map +1 -1
- package/dist/phaser/core/signal_binding.d.ts +4 -3
- package/dist/phaser/core/signal_binding.d.ts.map +1 -1
- package/dist/phaser/core/sound.d.ts +6 -4
- package/dist/phaser/core/sound.d.ts.map +1 -1
- package/dist/phaser/core/sound_manager.d.ts +3 -2
- package/dist/phaser/core/sound_manager.d.ts.map +1 -1
- package/dist/phaser/core/sound_sprite.d.ts +5 -4
- package/dist/phaser/core/sound_sprite.d.ts.map +1 -1
- package/dist/phaser/core/stage.d.ts +3 -2
- package/dist/phaser/core/stage.d.ts.map +1 -1
- package/dist/phaser/core/time.d.ts +1 -1
- package/dist/phaser/core/time.d.ts.map +1 -1
- package/dist/phaser/core/timer.d.ts +1 -1
- package/dist/phaser/core/timer.d.ts.map +1 -1
- package/dist/phaser/core/timer_event.d.ts.map +1 -1
- package/dist/phaser/core/tween.d.ts +10 -7
- package/dist/phaser/core/tween.d.ts.map +1 -1
- package/dist/phaser/core/tween_data.d.ts +3 -2
- package/dist/phaser/core/tween_data.d.ts.map +1 -1
- package/dist/phaser/core/tween_easing.d.ts.map +1 -1
- package/dist/phaser/core/tween_manager.d.ts +3 -2
- package/dist/phaser/core/tween_manager.d.ts.map +1 -1
- package/dist/phaser/core/world.d.ts +3 -2
- package/dist/phaser/core/world.d.ts.map +1 -1
- package/dist/phaser/display/bitmap_text.d.ts +3 -2
- package/dist/phaser/display/bitmap_text.d.ts.map +1 -1
- package/dist/phaser/display/button.d.ts +3 -2
- package/dist/phaser/display/button.d.ts.map +1 -1
- package/dist/phaser/display/canvas/buffer.d.ts.map +1 -1
- package/dist/phaser/display/canvas/graphics.d.ts +7 -6
- package/dist/phaser/display/canvas/graphics.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 +10 -8
- package/dist/phaser/display/canvas/renderer.d.ts.map +1 -1
- package/dist/phaser/display/canvas/tinter.d.ts +3 -2
- package/dist/phaser/display/canvas/tinter.d.ts.map +1 -1
- package/dist/phaser/display/canvas/util.d.ts +2 -2
- package/dist/phaser/display/canvas/util.d.ts.map +1 -1
- package/dist/phaser/display/display_object.d.ts +14 -12
- package/dist/phaser/display/display_object.d.ts.map +1 -1
- package/dist/phaser/display/graphics.d.ts +8 -5
- package/dist/phaser/display/graphics.d.ts.map +1 -1
- package/dist/phaser/display/graphics_data.d.ts.map +1 -1
- package/dist/phaser/display/graphics_data_util.d.ts.map +1 -1
- package/dist/phaser/display/group.d.ts +4 -3
- package/dist/phaser/display/group.d.ts.map +1 -1
- package/dist/phaser/display/image.d.ts +13 -10
- package/dist/phaser/display/image.d.ts.map +1 -1
- package/dist/phaser/display/sprite_batch.d.ts +3 -2
- package/dist/phaser/display/sprite_batch.d.ts.map +1 -1
- package/dist/phaser/display/sprite_util.d.ts +18 -15
- package/dist/phaser/display/sprite_util.d.ts.map +1 -1
- package/dist/phaser/display/text.d.ts +11 -9
- package/dist/phaser/display/text.d.ts.map +1 -1
- package/dist/phaser/display/webgl/abstract_filter.d.ts.map +1 -1
- package/dist/phaser/display/webgl/base_texture.d.ts.map +1 -1
- package/dist/phaser/display/webgl/blend_manager.d.ts +0 -1
- package/dist/phaser/display/webgl/blend_manager.d.ts.map +1 -1
- package/dist/phaser/display/webgl/earcut.d.ts +1 -1
- package/dist/phaser/display/webgl/earcut.d.ts.map +1 -1
- package/dist/phaser/display/webgl/earcut_node.d.ts.map +1 -1
- package/dist/phaser/display/webgl/fast_sprite_batch.d.ts +4 -3
- package/dist/phaser/display/webgl/fast_sprite_batch.d.ts.map +1 -1
- package/dist/phaser/display/webgl/filter_manager.d.ts +2 -1
- package/dist/phaser/display/webgl/filter_manager.d.ts.map +1 -1
- package/dist/phaser/display/webgl/filter_texture.d.ts +2 -1
- package/dist/phaser/display/webgl/filter_texture.d.ts.map +1 -1
- package/dist/phaser/display/webgl/graphics.d.ts +7 -6
- package/dist/phaser/display/webgl/graphics.d.ts.map +1 -1
- package/dist/phaser/display/webgl/graphics_data.d.ts +2 -1
- package/dist/phaser/display/webgl/graphics_data.d.ts.map +1 -1
- package/dist/phaser/display/webgl/render_texture.d.ts +4 -2
- package/dist/phaser/display/webgl/render_texture.d.ts.map +1 -1
- package/dist/phaser/display/webgl/renderer.d.ts +16 -11
- package/dist/phaser/display/webgl/renderer.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader/complex.d.ts +16 -6
- package/dist/phaser/display/webgl/shader/complex.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader/fast.d.ts +19 -7
- package/dist/phaser/display/webgl/shader/fast.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader/normal.d.ts +33 -12
- package/dist/phaser/display/webgl/shader/normal.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader/primitive.d.ts +15 -6
- package/dist/phaser/display/webgl/shader/primitive.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader/strip.d.ts +15 -6
- package/dist/phaser/display/webgl/shader/strip.d.ts.map +1 -1
- package/dist/phaser/display/webgl/shader_manager.d.ts +16 -11
- package/dist/phaser/display/webgl/shader_manager.d.ts.map +1 -1
- package/dist/phaser/display/webgl/sprite_batch.d.ts +29 -20
- package/dist/phaser/display/webgl/sprite_batch.d.ts.map +1 -1
- package/dist/phaser/display/webgl/stencil_manager.d.ts +12 -10
- package/dist/phaser/display/webgl/stencil_manager.d.ts.map +1 -1
- package/dist/phaser/display/webgl/texture.d.ts +3 -2
- package/dist/phaser/display/webgl/texture.d.ts.map +1 -1
- package/dist/phaser/display/webgl/texture_util.d.ts.map +1 -1
- package/dist/phaser/display/webgl/util.d.ts.map +1 -1
- package/dist/phaser/geom/circle.d.ts +4 -1
- package/dist/phaser/geom/circle.d.ts.map +1 -1
- package/dist/phaser/geom/ellipse.d.ts.map +1 -1
- package/dist/phaser/geom/line.d.ts +1 -1
- package/dist/phaser/geom/line.d.ts.map +1 -1
- package/dist/phaser/geom/matrix.d.ts.map +1 -1
- package/dist/phaser/geom/point.d.ts.map +1 -1
- package/dist/phaser/geom/polygon.d.ts.map +1 -1
- package/dist/phaser/geom/rectangle.d.ts.map +1 -1
- package/dist/phaser/geom/rounded_rectangle.d.ts.map +1 -1
- package/dist/phaser/geom/util/circle.d.ts.map +1 -1
- package/dist/phaser/geom/util/ellipse.d.ts +3 -2
- package/dist/phaser/geom/util/ellipse.d.ts.map +1 -1
- package/dist/phaser/geom/util/line.d.ts.map +1 -1
- package/dist/phaser/geom/util/matrix.d.ts +2 -2
- package/dist/phaser/geom/util/matrix.d.ts.map +1 -1
- package/dist/phaser/geom/util/point.d.ts.map +1 -1
- package/dist/phaser/geom/util/rectangle.d.ts +1 -1
- package/dist/phaser/geom/util/rectangle.d.ts.map +1 -1
- package/dist/phaser/util/math.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/phaser/core/animation.ts +64 -60
- package/src/phaser/core/animation_manager.ts +50 -53
- package/src/phaser/core/animation_parser.ts +9 -9
- package/src/phaser/core/array_set.ts +16 -17
- package/src/phaser/core/cache.ts +92 -93
- package/src/phaser/core/const.ts +1 -1
- package/src/phaser/core/device.ts +24 -29
- package/src/phaser/core/device_util.ts +22 -26
- package/src/phaser/core/dom.ts +54 -65
- package/src/phaser/core/event_manager.ts +64 -94
- package/src/phaser/core/factory.ts +14 -14
- package/src/phaser/core/frame.ts +28 -28
- package/src/phaser/core/frame_data.test.ts +100 -0
- package/src/phaser/core/frame_data.ts +24 -24
- package/src/phaser/core/frame_util.ts +2 -2
- package/src/phaser/core/game.ts +47 -48
- package/src/phaser/core/input.ts +104 -110
- package/src/phaser/core/input_handler.test.ts +113 -0
- package/src/phaser/core/input_handler.ts +199 -218
- package/src/phaser/core/input_mouse.ts +71 -54
- package/src/phaser/core/input_mspointer.ts +52 -39
- package/src/phaser/core/input_pointer.ts +81 -80
- package/src/phaser/core/input_touch.ts +49 -36
- package/src/phaser/core/loader.ts +173 -152
- package/src/phaser/core/loader_parser.ts +39 -57
- package/src/phaser/core/raf.ts +8 -7
- package/src/phaser/core/registry.test.ts +31 -0
- package/src/phaser/core/registry.ts +9 -0
- package/src/phaser/core/scale_manager.ts +156 -152
- package/src/phaser/core/scene.ts +9 -13
- package/src/phaser/core/scene_manager.ts +47 -47
- package/src/phaser/core/signal.test.ts +4 -4
- package/src/phaser/core/signal.ts +41 -52
- package/src/phaser/core/signal_binding.ts +26 -25
- package/src/phaser/core/signal_dispatch.test.ts +180 -0
- package/src/phaser/core/sound.ts +75 -83
- package/src/phaser/core/sound_manager.ts +52 -51
- package/src/phaser/core/sound_sprite.ts +17 -16
- package/src/phaser/core/stage.ts +25 -24
- package/src/phaser/core/time.ts +52 -52
- package/src/phaser/core/timer.test.ts +187 -0
- package/src/phaser/core/timer.ts +82 -69
- package/src/phaser/core/timer_event.ts +10 -10
- package/src/phaser/core/tween.ts +90 -93
- package/src/phaser/core/tween_data.ts +45 -51
- package/src/phaser/core/tween_easing.test.ts +106 -0
- package/src/phaser/core/tween_easing.ts +151 -123
- package/src/phaser/core/tween_manager.ts +19 -18
- package/src/phaser/core/world.ts +4 -3
- package/src/phaser/display/bitmap_text.ts +56 -64
- package/src/phaser/display/button.ts +33 -32
- package/src/phaser/display/canvas/buffer.ts +8 -8
- package/src/phaser/display/canvas/graphics.ts +36 -37
- package/src/phaser/display/canvas/masker.ts +2 -2
- package/src/phaser/display/canvas/pool.test.ts +106 -0
- package/src/phaser/display/canvas/pool.ts +25 -27
- package/src/phaser/display/canvas/renderer.ts +32 -31
- package/src/phaser/display/canvas/tinter.ts +25 -25
- package/src/phaser/display/canvas/util.ts +7 -10
- package/src/phaser/display/display_object.ts +114 -118
- package/src/phaser/display/graphics.ts +121 -119
- package/src/phaser/display/graphics_data.ts +12 -12
- package/src/phaser/display/graphics_data_util.ts +2 -3
- package/src/phaser/display/group.ts +50 -57
- package/src/phaser/display/image.ts +55 -52
- package/src/phaser/display/sprite_batch.ts +3 -2
- package/src/phaser/display/sprite_util.ts +48 -54
- package/src/phaser/display/text.ts +199 -204
- package/src/phaser/display/webgl/abstract_filter.ts +9 -9
- package/src/phaser/display/webgl/base_texture.ts +21 -24
- package/src/phaser/display/webgl/blend_manager.ts +6 -10
- package/src/phaser/display/webgl/earcut.ts +73 -37
- package/src/phaser/display/webgl/earcut_node.ts +10 -10
- package/src/phaser/display/webgl/fast_sprite_batch.ts +34 -34
- package/src/phaser/display/webgl/filter_manager.ts +13 -12
- package/src/phaser/display/webgl/filter_texture.ts +14 -13
- package/src/phaser/display/webgl/graphics.ts +51 -57
- package/src/phaser/display/webgl/graphics_data.ts +15 -14
- package/src/phaser/display/webgl/mask_manager.ts +2 -2
- package/src/phaser/display/webgl/render_texture.ts +26 -25
- package/src/phaser/display/webgl/renderer.ts +57 -62
- package/src/phaser/display/webgl/shader/complex.ts +28 -12
- package/src/phaser/display/webgl/shader/fast.ts +30 -12
- package/src/phaser/display/webgl/shader/normal.ts +70 -57
- package/src/phaser/display/webgl/shader/primitive.ts +26 -11
- package/src/phaser/display/webgl/shader/shader.test.ts +148 -0
- package/src/phaser/display/webgl/shader/strip.ts +27 -12
- package/src/phaser/display/webgl/shader_manager.test.ts +124 -0
- package/src/phaser/display/webgl/shader_manager.ts +26 -34
- package/src/phaser/display/webgl/sprite_batch.ts +67 -61
- package/src/phaser/display/webgl/stencil_manager.ts +23 -34
- package/src/phaser/display/webgl/texture.ts +43 -50
- package/src/phaser/display/webgl/texture_util.ts +2 -3
- package/src/phaser/display/webgl/util.ts +26 -25
- package/src/phaser/geom/circle.test.ts +2 -3
- package/src/phaser/geom/circle.ts +36 -36
- package/src/phaser/geom/ellipse.test.ts +73 -71
- package/src/phaser/geom/ellipse.ts +14 -14
- package/src/phaser/geom/line.test.ts +5 -5
- package/src/phaser/geom/line.ts +35 -35
- package/src/phaser/geom/matrix.test.ts +1 -1
- package/src/phaser/geom/matrix.ts +27 -27
- package/src/phaser/geom/point.test.ts +1 -2
- package/src/phaser/geom/point.ts +35 -35
- package/src/phaser/geom/polygon.test.ts +82 -0
- package/src/phaser/geom/polygon.ts +16 -16
- package/src/phaser/geom/rectangle.test.ts +14 -14
- package/src/phaser/geom/rectangle.ts +83 -75
- package/src/phaser/geom/rounded_rectangle.test.ts +1 -7
- package/src/phaser/geom/rounded_rectangle.ts +9 -9
- package/src/phaser/geom/util/circle.test.ts +25 -23
- package/src/phaser/geom/util/circle.ts +9 -18
- package/src/phaser/geom/util/ellipse.test.ts +7 -5
- package/src/phaser/geom/util/ellipse.ts +3 -2
- package/src/phaser/geom/util/line.test.ts +10 -8
- package/src/phaser/geom/util/line.ts +6 -16
- package/src/phaser/geom/util/matrix.test.ts +20 -18
- package/src/phaser/geom/util/matrix.ts +8 -15
- package/src/phaser/geom/util/point.test.ts +8 -6
- package/src/phaser/geom/util/point.ts +24 -28
- package/src/phaser/geom/util/polygon.test.ts +12 -10
- package/src/phaser/geom/util/polygon.ts +2 -2
- package/src/phaser/geom/util/rectangle.test.ts +10 -8
- package/src/phaser/geom/util/rectangle.ts +18 -37
- package/src/phaser/geom/util/rounded_rectangle.test.ts +11 -9
- package/src/phaser/geom/util/rounded_rectangle.ts +1 -1
- package/src/phaser/util/math.test.ts +11 -11
- package/src/phaser/util/math.ts +29 -46
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
import { SCALE_LINEAR } from '../core/const.js';
|
|
2
2
|
import { getIdentityMatrix } from '../geom/util/matrix.js';
|
|
3
3
|
import { getTintedTexture } from './canvas/tinter.js';
|
|
4
|
+
import type { Image } from './image.js';
|
|
5
|
+
import type { Texture } from './webgl/texture.js';
|
|
6
|
+
import type { Matrix } from '../geom/matrix.js';
|
|
4
7
|
|
|
5
8
|
/**
|
|
6
9
|
* Sets the texture of a sprite.
|
|
7
|
-
* @param {
|
|
8
|
-
* @param {
|
|
10
|
+
* @param {Image} target - The target image to set the texture on.
|
|
11
|
+
* @param {Texture} texture - The new texture to set.
|
|
9
12
|
* @param {boolean} destroyBase - Whether to destroy the base texture.
|
|
10
13
|
*/
|
|
11
|
-
export const setTexture = (
|
|
12
|
-
target: import('./image.js').Image,
|
|
13
|
-
texture: import('./webgl/texture.js').Texture,
|
|
14
|
-
destroyBase: boolean = false
|
|
15
|
-
) => {
|
|
14
|
+
export const setTexture = (target: Image, texture: Texture, destroyBase = false) => {
|
|
16
15
|
if (destroyBase) {
|
|
17
16
|
target.texture.baseTexture.destroy();
|
|
18
17
|
}
|
|
@@ -24,28 +23,28 @@ export const setTexture = (
|
|
|
24
23
|
|
|
25
24
|
/**
|
|
26
25
|
* Gets the bounds of a sprite.
|
|
27
|
-
* @param {
|
|
26
|
+
* @param {Image} target - The target image to get bounds for.
|
|
28
27
|
* @param {object} matrix - The transformation matrix.
|
|
29
|
-
* @returns {
|
|
28
|
+
* @returns {Rectangle} The bounds rectangle.
|
|
30
29
|
*/
|
|
31
|
-
export const getBounds = (target:
|
|
30
|
+
export const getBounds = (target: Image, matrix: any | null = null) => {
|
|
32
31
|
// TODO verify
|
|
33
32
|
if (target.currentBounds) {
|
|
34
33
|
return target.currentBounds;
|
|
35
34
|
}
|
|
36
|
-
const width = target.texture.frame
|
|
37
|
-
const height = target.texture.frame
|
|
35
|
+
const { width } = target.texture.frame;
|
|
36
|
+
const { height } = target.texture.frame;
|
|
38
37
|
let w0 = width * (1 - target.anchor.x);
|
|
39
38
|
let w1 = width * -target.anchor.x;
|
|
40
39
|
let h0 = height * (1 - target.anchor.y);
|
|
41
40
|
let h1 = height * -target.anchor.y;
|
|
42
|
-
const worldTransform = matrix
|
|
43
|
-
let a = worldTransform
|
|
44
|
-
const b = worldTransform
|
|
45
|
-
const c = worldTransform
|
|
46
|
-
let d = worldTransform
|
|
47
|
-
const tx = worldTransform
|
|
48
|
-
const ty = worldTransform
|
|
41
|
+
const worldTransform = matrix ?? target.worldTransform;
|
|
42
|
+
let { a } = worldTransform;
|
|
43
|
+
const { b } = worldTransform;
|
|
44
|
+
const { c } = worldTransform;
|
|
45
|
+
let { d } = worldTransform;
|
|
46
|
+
const { tx } = worldTransform;
|
|
47
|
+
const { ty } = worldTransform;
|
|
49
48
|
let maxX = -Infinity;
|
|
50
49
|
let maxY = -Infinity;
|
|
51
50
|
let minX = Infinity;
|
|
@@ -107,35 +106,30 @@ export const getBounds = (target: import('./image.js').Image, matrix: any | null
|
|
|
107
106
|
|
|
108
107
|
/**
|
|
109
108
|
* Gets the local bounds of a sprite.
|
|
110
|
-
* @param {
|
|
111
|
-
* @returns {
|
|
109
|
+
* @param {Image} target - The target image to get local bounds for.
|
|
110
|
+
* @returns {Rectangle} The local bounds rectangle.
|
|
112
111
|
*/
|
|
113
|
-
export const getLocalBounds = (target:
|
|
112
|
+
export const getLocalBounds = (target: Image) => {
|
|
114
113
|
const matrixCache = target.worldTransform;
|
|
115
114
|
target.worldTransform = getIdentityMatrix();
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
target.children[i].updateTransform();
|
|
115
|
+
for (const child of target.children) {
|
|
116
|
+
child.updateTransform();
|
|
119
117
|
}
|
|
120
118
|
const bounds = target.getBounds();
|
|
121
119
|
target.worldTransform = matrixCache;
|
|
122
|
-
for (
|
|
123
|
-
|
|
120
|
+
for (const child of target.children) {
|
|
121
|
+
child.updateTransform();
|
|
124
122
|
}
|
|
125
123
|
return bounds;
|
|
126
124
|
};
|
|
127
125
|
|
|
128
126
|
/**
|
|
129
127
|
* Renders a sprite using WebGL.
|
|
130
|
-
* @param {
|
|
128
|
+
* @param {Image} target - The target image to render.
|
|
131
129
|
* @param {object} renderSession - The render session object.
|
|
132
|
-
* @param {
|
|
130
|
+
* @param {Matrix | null | undefined} matrix - The transformation matrix.
|
|
133
131
|
*/
|
|
134
|
-
export const renderWebGL = (
|
|
135
|
-
target: import('./image.js').Image,
|
|
136
|
-
renderSession: any,
|
|
137
|
-
matrix: import('../geom/matrix.js').Matrix | null | undefined = null
|
|
138
|
-
) => {
|
|
132
|
+
export const renderWebGL = (target: Image, renderSession: any, matrix: Matrix | null | undefined = null) => {
|
|
139
133
|
// if the sprite is not visible or the alpha is 0 then no need to render this element
|
|
140
134
|
if (!target.visible || target.alpha <= 0 || !target.renderable) {
|
|
141
135
|
return;
|
|
@@ -147,7 +141,7 @@ export const renderWebGL = (
|
|
|
147
141
|
}
|
|
148
142
|
// A quick check to see if this element has a mask or a filter.
|
|
149
143
|
if (target._mask || target._filters) {
|
|
150
|
-
const spriteBatch = renderSession
|
|
144
|
+
const { spriteBatch } = renderSession;
|
|
151
145
|
// push filter first as we need to ensure the stencil buffer is correct for any masking
|
|
152
146
|
if (target._filters) {
|
|
153
147
|
spriteBatch.flush();
|
|
@@ -161,34 +155,34 @@ export const renderWebGL = (
|
|
|
161
155
|
// add this sprite to the batch
|
|
162
156
|
spriteBatch.render(target);
|
|
163
157
|
// now loop through the children and make sure they get rendered
|
|
164
|
-
for (
|
|
165
|
-
|
|
158
|
+
for (const child of target.children) {
|
|
159
|
+
child.renderWebGL(renderSession);
|
|
166
160
|
}
|
|
167
161
|
// time to stop the sprite batch as either a mask element or a filter draw will happen next
|
|
168
162
|
spriteBatch.stop();
|
|
169
|
-
if (target._mask)
|
|
170
|
-
|
|
163
|
+
if (target._mask) {
|
|
164
|
+
renderSession.maskManager.popMask(target._mask, renderSession);
|
|
165
|
+
}
|
|
166
|
+
if (target._filters) {
|
|
167
|
+
renderSession.filterManager.popFilter();
|
|
168
|
+
}
|
|
171
169
|
spriteBatch.start();
|
|
172
170
|
} else {
|
|
173
171
|
renderSession.spriteBatch.render(target);
|
|
174
172
|
// Render children!
|
|
175
|
-
for (
|
|
176
|
-
|
|
173
|
+
for (const child of target.children) {
|
|
174
|
+
child.renderWebGL(renderSession, wt);
|
|
177
175
|
}
|
|
178
176
|
}
|
|
179
177
|
};
|
|
180
178
|
|
|
181
179
|
/**
|
|
182
180
|
* Renders a sprite using Canvas.
|
|
183
|
-
* @param {
|
|
181
|
+
* @param {Image} target - The target image to render.
|
|
184
182
|
* @param {object} renderSession - The render session object.
|
|
185
|
-
* @param {
|
|
183
|
+
* @param {Matrix | null | undefined} matrix - The transformation matrix.
|
|
186
184
|
*/
|
|
187
|
-
export const renderCanvas = (
|
|
188
|
-
target: import('./image.js').Image,
|
|
189
|
-
renderSession: any,
|
|
190
|
-
matrix: import('../geom/matrix.js').Matrix | null | undefined = null
|
|
191
|
-
) => {
|
|
185
|
+
export const renderCanvas = (target: Image, renderSession: any, matrix: Matrix | null | undefined = null) => {
|
|
192
186
|
// If the sprite is not visible or the alpha is 0 then no need to render this element
|
|
193
187
|
if (
|
|
194
188
|
!target.visible ||
|
|
@@ -207,7 +201,7 @@ export const renderCanvas = (
|
|
|
207
201
|
if (target.blendMode !== renderSession.currentBlendMode) {
|
|
208
202
|
renderSession.currentBlendMode = target.blendMode;
|
|
209
203
|
renderSession.context.globalCompositeOperation =
|
|
210
|
-
|
|
204
|
+
globalThis.PhaserRegistry.blendModesCanvas[renderSession.currentBlendMode];
|
|
211
205
|
}
|
|
212
206
|
if (target._mask) {
|
|
213
207
|
renderSession.maskManager.pushMask(target._mask, renderSession);
|
|
@@ -233,9 +227,9 @@ export const renderCanvas = (
|
|
|
233
227
|
const ty = wt.ty * renderSession.resolution + renderSession.shakeY;
|
|
234
228
|
// Allow for pixel rounding
|
|
235
229
|
if (renderSession.roundPixels) {
|
|
236
|
-
renderSession.context.setTransform(wt.a, wt.b, wt.c, wt.d, tx
|
|
237
|
-
dx
|
|
238
|
-
dy
|
|
230
|
+
renderSession.context.setTransform(wt.a, wt.b, wt.c, wt.d, Math.trunc(tx), Math.trunc(ty));
|
|
231
|
+
dx = Math.trunc(dx);
|
|
232
|
+
dy = Math.trunc(dy);
|
|
239
233
|
} else {
|
|
240
234
|
renderSession.context.setTransform(wt.a, wt.b, wt.c, wt.d, tx, ty);
|
|
241
235
|
}
|
|
@@ -269,8 +263,8 @@ export const renderCanvas = (
|
|
|
269
263
|
);
|
|
270
264
|
}
|
|
271
265
|
}
|
|
272
|
-
for (
|
|
273
|
-
|
|
266
|
+
for (const child of target.children) {
|
|
267
|
+
child.renderCanvas(renderSession);
|
|
274
268
|
}
|
|
275
269
|
if (target._mask) {
|
|
276
270
|
renderSession.maskManager.popMask(renderSession);
|