Implement BitmapData.copyPixels() #2488
Merged
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.
This adds the main content (left-scrolling foreground image) to z0r.de/7463, solving another third of #2073.
This should also help with #2240, although other missing features seem to block this from making any difference there.
I tried to test this implementation with a variety of different parameter sets, using this test script: BitmapCopyPixels.as
Which produces this image in the Adobe player:
There is at most 1 value of difference from this in any channel of any pixel when run in Ruffle, as shown in this exaggerated difference image:
These are most likely rounding errors or other slight imprecisions. I don't find these to be too big of an issue.
The output is visually exactly the same, at least to my eyes.