Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed to execute 'setTransform' on 'CanvasRenderingContext2D': 6 arguments required, but only 1 present. #6965

Open
rafa-fie opened this issue Nov 26, 2024 · 3 comments

Comments

@rafa-fie
Copy link

rafa-fie commented Nov 26, 2024

Version

  • Phaser Version: 3.70 (but tested also with 3.87)
  • Operating system: Windows
  • Browser: CEF (Chromium Embedded Framework): CEF 52 (default browser from Sketchup 2017)

Description

When open that browser I have an error:
Uncaught TypeError: Failed to execute 'setTransform' on 'CanvasRenderingContext2D': 6 arguments required, but only 1 present.

this problem do not invoke in newest version of Sketchup Browser (like CEF 88 and above)

image

Example Test Code

in the config file I am using Phaser.CANVAS, because that renderer is better for my case (using phaser to visualize pdf so thin lines are necessary)

when Phaser.Auto then it is working but that renderer isn't good in my case

Additional Information

I have solved that issue by changing line
return t.setTransform(this),t}
into
return t.setTransform(this.a, this.b, this.c, this.d, this.e, this.f),t}

not sure if it is safe solution, but it's working ;P
maybe in future releases you can add something like this.

ps. very very great library!!!

image
image

@photonstorm
Copy link
Collaborator

Hiya - how old is this device/set-up you're testing? Because setTransform has allowed you to pass a matrix object to it for years now! See https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setTransform#browser_compatibility

@rafa-fie
Copy link
Author

rafa-fie commented Nov 27, 2024

yeees, that is pretty old browser, from 2017 probably.
Using your link...
Chrome (not sure if Chrominium has same numbers) support that from version 68. Unfortunately Sketchup started using Chrominium > 68 after 2021 ;/

Full situation:
We are developing plugin for SketchUp (app for architects) and using phaser to have some kind of PDF viewer/editor.
SketchUp has own browser based on CEF.

obraz

Of course we wish that everybody use the newest version of SketchUp, but reality is not like that :P
So we try to have compatibility with old SketchUp versions like this from 2017.
And that why here we have problem ;/

in worst scenario I will just update the source code each time :P

@photonstorm
Copy link
Collaborator

If you want to submit a PR then I don't mind reverting to the old way of doing it for the v3.88 release. This will be one of our final v3.x releases and we won't maintain this going forward for 4.x, but I don't mind doing it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants