|
14 | 14 | * @private |
15 | 15 | * |
16 | 16 | * @param {Phaser.Renderer.Canvas.CanvasRenderer} renderer - A reference to the current active Canvas renderer. |
17 | | - * @param {Phaser.GameObjects.RenderTexture} renderTexture - The Game Object being rendered in this call. |
| 17 | + * @param {Phaser.GameObjects.RenderTexture} src - The Game Object being rendered in this call. |
18 | 18 | * @param {number} interpolationPercentage - Reserved for future use and custom pipelines. |
19 | 19 | * @param {Phaser.Cameras.Scene2D.Camera} camera - The Camera that is rendering the Game Object. |
20 | 20 | * @param {Phaser.GameObjects.Components.TransformMatrix} parentMatrix - This transform matrix is defined if the game object is nested |
21 | 21 | */ |
22 | | -var RenderTextureCanvasRenderer = function (renderer, renderTexture, interpolationPercentage, camera, parentMatrix) |
| 22 | +var RenderTextureCanvasRenderer = function (renderer, src, interpolationPercentage, camera, parentMatrix) |
23 | 23 | { |
24 | | - var ctx = renderer.currentContext; |
25 | | - |
26 | | - // Alpha |
27 | | - |
28 | | - var alpha = camera.alpha * renderTexture.alpha; |
29 | | - |
30 | | - if (alpha === 0) |
31 | | - { |
32 | | - // Nothing to see, so abort early |
33 | | - return; |
34 | | - } |
35 | | - |
36 | | - var dx = 0; |
37 | | - var dy = 0; |
38 | | - |
39 | | - var fx = 1; |
40 | | - var fy = 1; |
41 | | - |
42 | | - if (renderTexture.flipX) |
43 | | - { |
44 | | - fx = -1; |
45 | | - dx -= renderTexture.canvas.width - renderTexture.displayOriginX; |
46 | | - } |
47 | | - else |
48 | | - { |
49 | | - dx -= renderTexture.displayOriginX; |
50 | | - } |
51 | | - |
52 | | - if (renderTexture.flipY) |
53 | | - { |
54 | | - fy = -1; |
55 | | - dy -= renderTexture.canvas.height - renderTexture.displayOriginY; |
56 | | - } |
57 | | - else |
58 | | - { |
59 | | - dy -= renderTexture.displayOriginY; |
60 | | - } |
61 | | - |
62 | | - ctx.save(); |
63 | | - |
64 | | - // Blend Mode |
65 | | - ctx.globalCompositeOperation = renderer.blendModes[renderTexture.blendMode]; |
66 | | - |
67 | | - // Alpha |
68 | | - ctx.globalAlpha = alpha; |
69 | | - |
70 | | - if (parentMatrix) |
71 | | - { |
72 | | - parentMatrix.copyToContext(ctx); |
73 | | - } |
74 | | - |
75 | | - ctx.translate(renderTexture.x - camera.scrollX * renderTexture.scrollFactorX, renderTexture.y - camera.scrollY * renderTexture.scrollFactorY); |
76 | | - ctx.rotate(renderTexture.rotation); |
77 | | - ctx.scale(renderTexture.scaleX, renderTexture.scaleY); |
78 | | - ctx.scale(fx, fy); |
79 | | - ctx.drawImage(renderTexture.canvas, dx, dy); |
80 | | - |
81 | | - ctx.restore(); |
| 24 | + renderer.batchSprite(src, src.frame, camera, parentMatrix); |
82 | 25 | }; |
83 | 26 |
|
84 | 27 | module.exports = RenderTextureCanvasRenderer; |
0 commit comments