This repository has been archived by the owner on Apr 25, 2023. It is now read-only.
feat: extend plugin api with captureScreen #310
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
✅ Deploy Preview for reearth-web ready!
To edit notification comments on pull requests, go to your Netlify site settings. |
Codecov Report
@@ Coverage Diff @@
## main #310 +/- ##
==========================================
+ Coverage 16.70% 16.75% +0.05%
==========================================
Files 502 502
Lines 48700 48753 +53
Branches 520 524 +4
==========================================
+ Hits 8135 8169 +34
- Misses 40547 40566 +19
Partials 18 18
|
I have quickly tested. Seems working fine. |
rot1024
approved these changes
Sep 12, 2022
KaWaite
approved these changes
Sep 12, 2022
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This feature enables plugin get the image of the map.
Without this API the plugin can manually get the canvas and use
canvas.toDataURL
but the result will be a full black image due to the canvas webgl settings.The solutions are:
A: Config contextOptions with
{{ webgl: { preserveDrawingBuffer: true } }}
but this will technically harm the performance so i did not apply this.B: Call
canvas.toDataURL
immediately after aviewer.render
. This is what i implemented for the API.NOTICE: the output image comes from the canvas so anything implemented out of canvas (eg. infobox) can not be included. If you want to take a screenshot of all HTML elements you may try implement with some third-party libraries in plugin code.
What I've done
Extend the plugin API with
Refer
canvas.toDataURL
for parameterstype
encoderOptions
Thers's also a little refactor to unit test file included in this PR (Basically renaming function).
What I haven't done
How I tested
Screenshot
Which point I want you to review particularly
Memo