From 974738fe10416a8dd548170664ad4da5e5361ccf Mon Sep 17 00:00:00 2001 From: Aaron Hill Date: Thu, 8 Sep 2022 17:00:10 -0500 Subject: [PATCH] tests: Add BitmapData.copyPixels image test from PR #2488 --- tests/tests/regression_tests.rs | 1 + .../BitmapCopyPixels.as | 66 ++++++++++++++++++ .../actual-linux-Vulkan.png | Bin 0 -> 23024 bytes .../expected-linux-Vulkan.png | Bin 0 -> 23017 bytes .../expected-windows-Dx12.png | Bin 0 -> 23017 bytes .../avm1/bitmap_data_copypixels/output.txt | 0 .../swfs/avm1/bitmap_data_copypixels/test.swf | Bin 0 -> 783 bytes 7 files changed, 67 insertions(+) create mode 100644 tests/tests/swfs/avm1/bitmap_data_copypixels/BitmapCopyPixels.as create mode 100644 tests/tests/swfs/avm1/bitmap_data_copypixels/actual-linux-Vulkan.png create mode 100644 tests/tests/swfs/avm1/bitmap_data_copypixels/expected-linux-Vulkan.png create mode 100644 tests/tests/swfs/avm1/bitmap_data_copypixels/expected-windows-Dx12.png create mode 100644 tests/tests/swfs/avm1/bitmap_data_copypixels/output.txt create mode 100644 tests/tests/swfs/avm1/bitmap_data_copypixels/test.swf diff --git a/tests/tests/regression_tests.rs b/tests/tests/regression_tests.rs index 5256feda8..569b4e1c9 100644 --- a/tests/tests/regression_tests.rs +++ b/tests/tests/regression_tests.rs @@ -556,6 +556,7 @@ swf_tests! { (bevel_filter, "avm1/bevel_filter", 1), (bitmap_data, "avm1/bitmap_data", 1), (bitmap_data_compare, "avm1/bitmap_data_compare", 1), + (bitmap_data_copypixels, "avm1/bitmap_data_copypixels", 2, img = true), (bitmap_data_max_size_swf10, "avm1/bitmap_data_max_size_swf10", 1), (bitmap_data_max_size_swf9, "avm1/bitmap_data_max_size_swf9", 1), (bitmap_data_noise, "avm1/bitmap_data_noise", 1), diff --git a/tests/tests/swfs/avm1/bitmap_data_copypixels/BitmapCopyPixels.as b/tests/tests/swfs/avm1/bitmap_data_copypixels/BitmapCopyPixels.as new file mode 100644 index 000000000..8fc7bae40 --- /dev/null +++ b/tests/tests/swfs/avm1/bitmap_data_copypixels/BitmapCopyPixels.as @@ -0,0 +1,66 @@ +import flash.display.BitmapData; +import flash.geom.Rectangle; +import flash.geom.Point; + +class BitmapCopyPixels { + + static function plop(mc : MovieClip, sx : Number, sy : Number, + transp_src : Boolean, transp_dest : Boolean, transp_alpha : Boolean, + merge: Boolean) { + + var dest:BitmapData = new BitmapData(100, 100, transp_dest, 0xBBFF0000); + dest.fillRect(new Rectangle(20,10, 20, 80), 0x8888FF00); + dest.fillRect(new Rectangle(50,10, 20, 80), 0x220088FF); + + var dest_img:MovieClip = mc.createEmptyMovieClip("dest_img", mc.getNextHighestDepth()); + dest_img.attachBitmap(dest, mc.getNextHighestDepth()); + + dest_img._x = sx; + dest_img._y = sy; + + + var src:BitmapData = new BitmapData(80, 20, transp_src, 0x44888888); + var src_img:MovieClip = mc.createEmptyMovieClip("src_img", mc.getNextHighestDepth()); + src_img.attachBitmap(src, mc.getNextHighestDepth()); + src.fillRect(new Rectangle(5, 5, 10, 10), 0xAA2288DD); + + src_img._x = sx + 110; + src_img._y = sy + 20; + + dest.copyPixels(src, new Rectangle(0,0,80,20), new Point(10, 10)); + + + var alpha:BitmapData = new BitmapData(40, 20, transp_alpha, 0x66884422); + var alpha_img:MovieClip = mc.createEmptyMovieClip("alpha_img", mc.getNextHighestDepth()); + alpha_img.attachBitmap(alpha, mc.getNextHighestDepth()); + alpha.fillRect(new Rectangle(4, 8, 12, 30), 0xEE8844DD); + + alpha_img._x = sx + 110; + alpha_img._y = sy + 60; + + dest.copyPixels(src, new Rectangle(0,0,80,20), new Point(10, 50), alpha, new Point(0,0), merge); + } + + static function main(mc) { + BitmapCopyPixels.plop(mc, 10, 20, true, true, true , false); + BitmapCopyPixels.plop(mc, 210, 20, true, true, false , false); + BitmapCopyPixels.plop(mc, 410, 20, true, false, true , false); + BitmapCopyPixels.plop(mc, 610, 20, true, false, false , false); + + BitmapCopyPixels.plop(mc, 10, 220, false, true, true , false); + BitmapCopyPixels.plop(mc, 210, 220, false, true, false , false); + BitmapCopyPixels.plop(mc, 410, 220, false, false, true , false); + BitmapCopyPixels.plop(mc, 610, 220, false, false, false , false); + + + BitmapCopyPixels.plop(mc, 10, 520, true, true, true , true); + BitmapCopyPixels.plop(mc, 210, 520, true, true, false , true); + BitmapCopyPixels.plop(mc, 410, 520, true, false, true , true); + BitmapCopyPixels.plop(mc, 610, 520, true, false, false , true); + + BitmapCopyPixels.plop(mc, 10, 720, false, true, true , true); + BitmapCopyPixels.plop(mc, 210, 720, false, true, false , true); + BitmapCopyPixels.plop(mc, 410, 720, false, false, true , true); + BitmapCopyPixels.plop(mc, 610, 720, false, false, false , true); + } +} \ No newline at end of file diff --git a/tests/tests/swfs/avm1/bitmap_data_copypixels/actual-linux-Vulkan.png b/tests/tests/swfs/avm1/bitmap_data_copypixels/actual-linux-Vulkan.png new file mode 100644 index 0000000000000000000000000000000000000000..fe590b2a3a59e5de1c07733a45d4c099a3c8846c GIT binary patch literal 23024 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