summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/image/Makefile.am61
-rw-r--r--test/image/blend-mode-0-7.swfbin0 -> 1695 bytes
-rw-r--r--test/image/blend-mode-0-7.swf.pngbin0 -> 1366 bytes
-rw-r--r--test/image/blend-mode-0-8.swfbin0 -> 1701 bytes
-rw-r--r--test/image/blend-mode-0-8.swf.pngbin0 -> 1366 bytes
-rw-r--r--test/image/blend-mode-15-7.swfbin0 -> 1695 bytes
-rw-r--r--test/image/blend-mode-15-7.swf.pngbin0 -> 1366 bytes
-rw-r--r--test/image/blend-mode-15-8.swfbin0 -> 1701 bytes
-rw-r--r--test/image/blend-mode-15-8.swf.pngbin0 -> 1366 bytes
-rw-r--r--test/image/blend-mode-add-7.swfbin0 -> 1695 bytes
-rw-r--r--test/image/blend-mode-add-7.swf.pngbin0 -> 820 bytes
-rw-r--r--test/image/blend-mode-add-8.swfbin0 -> 1701 bytes
-rw-r--r--test/image/blend-mode-add-8.swf.pngbin0 -> 820 bytes
-rw-r--r--test/image/blend-mode-alpha-7.swfbin0 -> 1695 bytes
-rw-r--r--test/image/blend-mode-alpha-7.swf.pngbin0 -> 1010 bytes
-rw-r--r--test/image/blend-mode-alpha-8.swfbin0 -> 1701 bytes
-rw-r--r--test/image/blend-mode-alpha-8.swf.pngbin0 -> 1010 bytes
-rw-r--r--test/image/blend-mode-darken-7.swfbin0 -> 1695 bytes
-rw-r--r--test/image/blend-mode-darken-7.swf.pngbin0 -> 1616 bytes
-rw-r--r--test/image/blend-mode-darken-8.swfbin0 -> 1701 bytes
-rw-r--r--test/image/blend-mode-darken-8.swf.pngbin0 -> 1616 bytes
-rw-r--r--test/image/blend-mode-difference-7.swfbin0 -> 1695 bytes
-rw-r--r--test/image/blend-mode-difference-7.swf.pngbin0 -> 1162 bytes
-rw-r--r--test/image/blend-mode-difference-8.swfbin0 -> 1701 bytes
-rw-r--r--test/image/blend-mode-difference-8.swf.pngbin0 -> 1162 bytes
-rw-r--r--test/image/blend-mode-erase-7.swfbin0 -> 1695 bytes
-rw-r--r--test/image/blend-mode-erase-7.swf.pngbin0 -> 1062 bytes
-rw-r--r--test/image/blend-mode-erase-8.swfbin0 -> 1701 bytes
-rw-r--r--test/image/blend-mode-erase-8.swf.pngbin0 -> 1062 bytes
-rw-r--r--test/image/blend-mode-hardlight-7.swfbin0 -> 1695 bytes
-rw-r--r--test/image/blend-mode-hardlight-7.swf.pngbin0 -> 1349 bytes
-rw-r--r--test/image/blend-mode-hardlight-8.swfbin0 -> 1701 bytes
-rw-r--r--test/image/blend-mode-hardlight-8.swf.pngbin0 -> 1349 bytes
-rw-r--r--test/image/blend-mode-inverse-7.swfbin0 -> 1695 bytes
-rw-r--r--test/image/blend-mode-inverse-7.swf.pngbin0 -> 1206 bytes
-rw-r--r--test/image/blend-mode-inverse-8.swfbin0 -> 1701 bytes
-rw-r--r--test/image/blend-mode-inverse-8.swf.pngbin0 -> 1206 bytes
-rw-r--r--test/image/blend-mode-layer-7.swfbin0 -> 1695 bytes
-rw-r--r--test/image/blend-mode-layer-7.swf.pngbin0 -> 1366 bytes
-rw-r--r--test/image/blend-mode-layer-8.swfbin0 -> 1701 bytes
-rw-r--r--test/image/blend-mode-layer-8.swf.pngbin0 -> 1366 bytes
-rw-r--r--test/image/blend-mode-lighten-7.swfbin0 -> 1695 bytes
-rw-r--r--test/image/blend-mode-lighten-7.swf.pngbin0 -> 1033 bytes
-rw-r--r--test/image/blend-mode-lighten-8.swfbin0 -> 1701 bytes
-rw-r--r--test/image/blend-mode-lighten-8.swf.pngbin0 -> 1033 bytes
-rw-r--r--test/image/blend-mode-multiply-7.swfbin0 -> 1695 bytes
-rw-r--r--test/image/blend-mode-multiply-7.swf.pngbin0 -> 1616 bytes
-rw-r--r--test/image/blend-mode-multiply-8.swfbin0 -> 1701 bytes
-rw-r--r--test/image/blend-mode-multiply-8.swf.pngbin0 -> 1616 bytes
-rw-r--r--test/image/blend-mode-normal-7.swfbin0 -> 1695 bytes
-rw-r--r--test/image/blend-mode-normal-7.swf.pngbin0 -> 1366 bytes
-rw-r--r--test/image/blend-mode-normal-8.swfbin0 -> 1701 bytes
-rw-r--r--test/image/blend-mode-normal-8.swf.pngbin0 -> 1366 bytes
-rw-r--r--test/image/blend-mode-overlay-7.swfbin0 -> 1695 bytes
-rw-r--r--test/image/blend-mode-overlay-7.swf.pngbin0 -> 1384 bytes
-rw-r--r--test/image/blend-mode-overlay-8.swfbin0 -> 1701 bytes
-rw-r--r--test/image/blend-mode-overlay-8.swf.pngbin0 -> 1384 bytes
-rw-r--r--test/image/blend-mode-screen-7.swfbin0 -> 1695 bytes
-rw-r--r--test/image/blend-mode-screen-7.swf.pngbin0 -> 1027 bytes
-rw-r--r--test/image/blend-mode-screen-8.swfbin0 -> 1701 bytes
-rw-r--r--test/image/blend-mode-screen-8.swf.pngbin0 -> 1027 bytes
-rw-r--r--test/image/blend-mode.c134
62 files changed, 195 insertions, 0 deletions
diff --git a/test/image/Makefile.am b/test/image/Makefile.am
index 3d0be09f..65c96918 100644
--- a/test/image/Makefile.am
+++ b/test/image/Makefile.am
@@ -93,6 +93,67 @@ EXTRA_DIST = \
bitmapFill-update-8.swf \
bitmapFill-update-8.swf.png \
bitmapFill-update.as \
+ blend-mode.c \
+ blend-mode-0-7.swf \
+ blend-mode-0-7.swf.png \
+ blend-mode-0-8.swf \
+ blend-mode-0-8.swf.png \
+ blend-mode-15-7.swf \
+ blend-mode-15-7.swf.png \
+ blend-mode-15-8.swf \
+ blend-mode-15-8.swf.png \
+ blend-mode-add-7.swf \
+ blend-mode-add-7.swf.png \
+ blend-mode-add-8.swf \
+ blend-mode-add-8.swf.png \
+ blend-mode-alpha-7.swf \
+ blend-mode-alpha-7.swf.png \
+ blend-mode-alpha-8.swf \
+ blend-mode-alpha-8.swf.png \
+ blend-mode-darken-7.swf \
+ blend-mode-darken-7.swf.png \
+ blend-mode-darken-8.swf \
+ blend-mode-darken-8.swf.png \
+ blend-mode-difference-7.swf \
+ blend-mode-difference-7.swf.png \
+ blend-mode-difference-8.swf \
+ blend-mode-difference-8.swf.png \
+ blend-mode-erase-7.swf \
+ blend-mode-erase-7.swf.png \
+ blend-mode-erase-8.swf \
+ blend-mode-erase-8.swf.png \
+ blend-mode-hardlight-7.swf \
+ blend-mode-hardlight-7.swf.png \
+ blend-mode-hardlight-8.swf \
+ blend-mode-hardlight-8.swf.png \
+ blend-mode-inverse-7.swf \
+ blend-mode-inverse-7.swf.png \
+ blend-mode-inverse-8.swf \
+ blend-mode-inverse-8.swf.png \
+ blend-mode-layer-7.swf \
+ blend-mode-layer-7.swf.png \
+ blend-mode-layer-8.swf \
+ blend-mode-layer-8.swf.png \
+ blend-mode-lighten-7.swf \
+ blend-mode-lighten-7.swf.png \
+ blend-mode-lighten-8.swf \
+ blend-mode-lighten-8.swf.png \
+ blend-mode-multiply-7.swf \
+ blend-mode-multiply-7.swf.png \
+ blend-mode-multiply-8.swf \
+ blend-mode-multiply-8.swf.png \
+ blend-mode-normal-7.swf \
+ blend-mode-normal-7.swf.png \
+ blend-mode-normal-8.swf \
+ blend-mode-normal-8.swf.png \
+ blend-mode-overlay-7.swf \
+ blend-mode-overlay-7.swf.png \
+ blend-mode-overlay-8.swf \
+ blend-mode-overlay-8.swf.png \
+ blend-mode-screen-7.swf \
+ blend-mode-screen-7.swf.png \
+ blend-mode-screen-8.swf \
+ blend-mode-screen-8.swf.png \
BlurFilter-rendering-5.swf \
BlurFilter-rendering-5.swf.png \
BlurFilter-rendering-6.swf \
diff --git a/test/image/blend-mode-0-7.swf b/test/image/blend-mode-0-7.swf
new file mode 100644
index 00000000..ab4e919a
--- /dev/null
+++ b/test/image/blend-mode-0-7.swf
Binary files differ
diff --git a/test/image/blend-mode-0-7.swf.png b/test/image/blend-mode-0-7.swf.png
new file mode 100644
index 00000000..1a8b43d6
--- /dev/null
+++ b/test/image/blend-mode-0-7.swf.png
Binary files differ
diff --git a/test/image/blend-mode-0-8.swf b/test/image/blend-mode-0-8.swf
new file mode 100644
index 00000000..4980ad95
--- /dev/null
+++ b/test/image/blend-mode-0-8.swf
Binary files differ
diff --git a/test/image/blend-mode-0-8.swf.png b/test/image/blend-mode-0-8.swf.png
new file mode 100644
index 00000000..d100dd7c
--- /dev/null
+++ b/test/image/blend-mode-0-8.swf.png
Binary files differ
diff --git a/test/image/blend-mode-15-7.swf b/test/image/blend-mode-15-7.swf
new file mode 100644
index 00000000..52fcc48f
--- /dev/null
+++ b/test/image/blend-mode-15-7.swf
Binary files differ
diff --git a/test/image/blend-mode-15-7.swf.png b/test/image/blend-mode-15-7.swf.png
new file mode 100644
index 00000000..ec5d4869
--- /dev/null
+++ b/test/image/blend-mode-15-7.swf.png
Binary files differ
diff --git a/test/image/blend-mode-15-8.swf b/test/image/blend-mode-15-8.swf
new file mode 100644
index 00000000..e4a05e6a
--- /dev/null
+++ b/test/image/blend-mode-15-8.swf
Binary files differ
diff --git a/test/image/blend-mode-15-8.swf.png b/test/image/blend-mode-15-8.swf.png
new file mode 100644
index 00000000..49167eb4
--- /dev/null
+++ b/test/image/blend-mode-15-8.swf.png
Binary files differ
diff --git a/test/image/blend-mode-add-7.swf b/test/image/blend-mode-add-7.swf
new file mode 100644
index 00000000..ad33ae5c
--- /dev/null
+++ b/test/image/blend-mode-add-7.swf
Binary files differ
diff --git a/test/image/blend-mode-add-7.swf.png b/test/image/blend-mode-add-7.swf.png
new file mode 100644
index 00000000..ec6e84b5
--- /dev/null
+++ b/test/image/blend-mode-add-7.swf.png
Binary files differ
diff --git a/test/image/blend-mode-add-8.swf b/test/image/blend-mode-add-8.swf
new file mode 100644
index 00000000..9432f604
--- /dev/null
+++ b/test/image/blend-mode-add-8.swf
Binary files differ
diff --git a/test/image/blend-mode-add-8.swf.png b/test/image/blend-mode-add-8.swf.png
new file mode 100644
index 00000000..c9520f09
--- /dev/null
+++ b/test/image/blend-mode-add-8.swf.png
Binary files differ
diff --git a/test/image/blend-mode-alpha-7.swf b/test/image/blend-mode-alpha-7.swf
new file mode 100644
index 00000000..a0c3c3d7
--- /dev/null
+++ b/test/image/blend-mode-alpha-7.swf
Binary files differ
diff --git a/test/image/blend-mode-alpha-7.swf.png b/test/image/blend-mode-alpha-7.swf.png
new file mode 100644
index 00000000..55f8abd9
--- /dev/null
+++ b/test/image/blend-mode-alpha-7.swf.png
Binary files differ
diff --git a/test/image/blend-mode-alpha-8.swf b/test/image/blend-mode-alpha-8.swf
new file mode 100644
index 00000000..9f7bdfc2
--- /dev/null
+++ b/test/image/blend-mode-alpha-8.swf
Binary files differ
diff --git a/test/image/blend-mode-alpha-8.swf.png b/test/image/blend-mode-alpha-8.swf.png
new file mode 100644
index 00000000..d64defd4
--- /dev/null
+++ b/test/image/blend-mode-alpha-8.swf.png
Binary files differ
diff --git a/test/image/blend-mode-darken-7.swf b/test/image/blend-mode-darken-7.swf
new file mode 100644
index 00000000..40f8ff06
--- /dev/null
+++ b/test/image/blend-mode-darken-7.swf
Binary files differ
diff --git a/test/image/blend-mode-darken-7.swf.png b/test/image/blend-mode-darken-7.swf.png
new file mode 100644
index 00000000..9fda92e3
--- /dev/null
+++ b/test/image/blend-mode-darken-7.swf.png
Binary files differ
diff --git a/test/image/blend-mode-darken-8.swf b/test/image/blend-mode-darken-8.swf
new file mode 100644
index 00000000..abab2107
--- /dev/null
+++ b/test/image/blend-mode-darken-8.swf
Binary files differ
diff --git a/test/image/blend-mode-darken-8.swf.png b/test/image/blend-mode-darken-8.swf.png
new file mode 100644
index 00000000..05a7ccad
--- /dev/null
+++ b/test/image/blend-mode-darken-8.swf.png
Binary files differ
diff --git a/test/image/blend-mode-difference-7.swf b/test/image/blend-mode-difference-7.swf
new file mode 100644
index 00000000..fdceadb7
--- /dev/null
+++ b/test/image/blend-mode-difference-7.swf
Binary files differ
diff --git a/test/image/blend-mode-difference-7.swf.png b/test/image/blend-mode-difference-7.swf.png
new file mode 100644
index 00000000..b5faa9ee
--- /dev/null
+++ b/test/image/blend-mode-difference-7.swf.png
Binary files differ
diff --git a/test/image/blend-mode-difference-8.swf b/test/image/blend-mode-difference-8.swf
new file mode 100644
index 00000000..dda194ef
--- /dev/null
+++ b/test/image/blend-mode-difference-8.swf
Binary files differ
diff --git a/test/image/blend-mode-difference-8.swf.png b/test/image/blend-mode-difference-8.swf.png
new file mode 100644
index 00000000..be4f9c2f
--- /dev/null
+++ b/test/image/blend-mode-difference-8.swf.png
Binary files differ
diff --git a/test/image/blend-mode-erase-7.swf b/test/image/blend-mode-erase-7.swf
new file mode 100644
index 00000000..631ee269
--- /dev/null
+++ b/test/image/blend-mode-erase-7.swf
Binary files differ
diff --git a/test/image/blend-mode-erase-7.swf.png b/test/image/blend-mode-erase-7.swf.png
new file mode 100644
index 00000000..7a47373d
--- /dev/null
+++ b/test/image/blend-mode-erase-7.swf.png
Binary files differ
diff --git a/test/image/blend-mode-erase-8.swf b/test/image/blend-mode-erase-8.swf
new file mode 100644
index 00000000..d71bfd8e
--- /dev/null
+++ b/test/image/blend-mode-erase-8.swf
Binary files differ
diff --git a/test/image/blend-mode-erase-8.swf.png b/test/image/blend-mode-erase-8.swf.png
new file mode 100644
index 00000000..4e8d0bed
--- /dev/null
+++ b/test/image/blend-mode-erase-8.swf.png
Binary files differ
diff --git a/test/image/blend-mode-hardlight-7.swf b/test/image/blend-mode-hardlight-7.swf
new file mode 100644
index 00000000..56ed34a3
--- /dev/null
+++ b/test/image/blend-mode-hardlight-7.swf
Binary files differ
diff --git a/test/image/blend-mode-hardlight-7.swf.png b/test/image/blend-mode-hardlight-7.swf.png
new file mode 100644
index 00000000..4f271825
--- /dev/null
+++ b/test/image/blend-mode-hardlight-7.swf.png
Binary files differ
diff --git a/test/image/blend-mode-hardlight-8.swf b/test/image/blend-mode-hardlight-8.swf
new file mode 100644
index 00000000..2d99358c
--- /dev/null
+++ b/test/image/blend-mode-hardlight-8.swf
Binary files differ
diff --git a/test/image/blend-mode-hardlight-8.swf.png b/test/image/blend-mode-hardlight-8.swf.png
new file mode 100644
index 00000000..f1d4c98a
--- /dev/null
+++ b/test/image/blend-mode-hardlight-8.swf.png
Binary files differ
diff --git a/test/image/blend-mode-inverse-7.swf b/test/image/blend-mode-inverse-7.swf
new file mode 100644
index 00000000..c3383f3e
--- /dev/null
+++ b/test/image/blend-mode-inverse-7.swf
Binary files differ
diff --git a/test/image/blend-mode-inverse-7.swf.png b/test/image/blend-mode-inverse-7.swf.png
new file mode 100644
index 00000000..78faaa66
--- /dev/null
+++ b/test/image/blend-mode-inverse-7.swf.png
Binary files differ
diff --git a/test/image/blend-mode-inverse-8.swf b/test/image/blend-mode-inverse-8.swf
new file mode 100644
index 00000000..185daf34
--- /dev/null
+++ b/test/image/blend-mode-inverse-8.swf
Binary files differ
diff --git a/test/image/blend-mode-inverse-8.swf.png b/test/image/blend-mode-inverse-8.swf.png
new file mode 100644
index 00000000..0567aeab
--- /dev/null
+++ b/test/image/blend-mode-inverse-8.swf.png
Binary files differ
diff --git a/test/image/blend-mode-layer-7.swf b/test/image/blend-mode-layer-7.swf
new file mode 100644
index 00000000..57fcbccc
--- /dev/null
+++ b/test/image/blend-mode-layer-7.swf
Binary files differ
diff --git a/test/image/blend-mode-layer-7.swf.png b/test/image/blend-mode-layer-7.swf.png
new file mode 100644
index 00000000..1d533e31
--- /dev/null
+++ b/test/image/blend-mode-layer-7.swf.png
Binary files differ
diff --git a/test/image/blend-mode-layer-8.swf b/test/image/blend-mode-layer-8.swf
new file mode 100644
index 00000000..97fe635b
--- /dev/null
+++ b/test/image/blend-mode-layer-8.swf
Binary files differ
diff --git a/test/image/blend-mode-layer-8.swf.png b/test/image/blend-mode-layer-8.swf.png
new file mode 100644
index 00000000..1dac4449
--- /dev/null
+++ b/test/image/blend-mode-layer-8.swf.png
Binary files differ
diff --git a/test/image/blend-mode-lighten-7.swf b/test/image/blend-mode-lighten-7.swf
new file mode 100644
index 00000000..2eab3129
--- /dev/null
+++ b/test/image/blend-mode-lighten-7.swf
Binary files differ
diff --git a/test/image/blend-mode-lighten-7.swf.png b/test/image/blend-mode-lighten-7.swf.png
new file mode 100644
index 00000000..891460cd
--- /dev/null
+++ b/test/image/blend-mode-lighten-7.swf.png
Binary files differ
diff --git a/test/image/blend-mode-lighten-8.swf b/test/image/blend-mode-lighten-8.swf
new file mode 100644
index 00000000..542acf2f
--- /dev/null
+++ b/test/image/blend-mode-lighten-8.swf
Binary files differ
diff --git a/test/image/blend-mode-lighten-8.swf.png b/test/image/blend-mode-lighten-8.swf.png
new file mode 100644
index 00000000..f9f4400c
--- /dev/null
+++ b/test/image/blend-mode-lighten-8.swf.png
Binary files differ
diff --git a/test/image/blend-mode-multiply-7.swf b/test/image/blend-mode-multiply-7.swf
new file mode 100644
index 00000000..3476ad2f
--- /dev/null
+++ b/test/image/blend-mode-multiply-7.swf
Binary files differ
diff --git a/test/image/blend-mode-multiply-7.swf.png b/test/image/blend-mode-multiply-7.swf.png
new file mode 100644
index 00000000..4cc21020
--- /dev/null
+++ b/test/image/blend-mode-multiply-7.swf.png
Binary files differ
diff --git a/test/image/blend-mode-multiply-8.swf b/test/image/blend-mode-multiply-8.swf
new file mode 100644
index 00000000..f451edeb
--- /dev/null
+++ b/test/image/blend-mode-multiply-8.swf
Binary files differ
diff --git a/test/image/blend-mode-multiply-8.swf.png b/test/image/blend-mode-multiply-8.swf.png
new file mode 100644
index 00000000..69fb02d0
--- /dev/null
+++ b/test/image/blend-mode-multiply-8.swf.png
Binary files differ
diff --git a/test/image/blend-mode-normal-7.swf b/test/image/blend-mode-normal-7.swf
new file mode 100644
index 00000000..87202ee5
--- /dev/null
+++ b/test/image/blend-mode-normal-7.swf
Binary files differ
diff --git a/test/image/blend-mode-normal-7.swf.png b/test/image/blend-mode-normal-7.swf.png
new file mode 100644
index 00000000..d893ffef
--- /dev/null
+++ b/test/image/blend-mode-normal-7.swf.png
Binary files differ
diff --git a/test/image/blend-mode-normal-8.swf b/test/image/blend-mode-normal-8.swf
new file mode 100644
index 00000000..63666bdb
--- /dev/null
+++ b/test/image/blend-mode-normal-8.swf
Binary files differ
diff --git a/test/image/blend-mode-normal-8.swf.png b/test/image/blend-mode-normal-8.swf.png
new file mode 100644
index 00000000..b12cb898
--- /dev/null
+++ b/test/image/blend-mode-normal-8.swf.png
Binary files differ
diff --git a/test/image/blend-mode-overlay-7.swf b/test/image/blend-mode-overlay-7.swf
new file mode 100644
index 00000000..a6cf9277
--- /dev/null
+++ b/test/image/blend-mode-overlay-7.swf
Binary files differ
diff --git a/test/image/blend-mode-overlay-7.swf.png b/test/image/blend-mode-overlay-7.swf.png
new file mode 100644
index 00000000..3d39a60b
--- /dev/null
+++ b/test/image/blend-mode-overlay-7.swf.png
Binary files differ
diff --git a/test/image/blend-mode-overlay-8.swf b/test/image/blend-mode-overlay-8.swf
new file mode 100644
index 00000000..f86d0b26
--- /dev/null
+++ b/test/image/blend-mode-overlay-8.swf
Binary files differ
diff --git a/test/image/blend-mode-overlay-8.swf.png b/test/image/blend-mode-overlay-8.swf.png
new file mode 100644
index 00000000..f307268e
--- /dev/null
+++ b/test/image/blend-mode-overlay-8.swf.png
Binary files differ
diff --git a/test/image/blend-mode-screen-7.swf b/test/image/blend-mode-screen-7.swf
new file mode 100644
index 00000000..c013c30c
--- /dev/null
+++ b/test/image/blend-mode-screen-7.swf
Binary files differ
diff --git a/test/image/blend-mode-screen-7.swf.png b/test/image/blend-mode-screen-7.swf.png
new file mode 100644
index 00000000..a05642f9
--- /dev/null
+++ b/test/image/blend-mode-screen-7.swf.png
Binary files differ
diff --git a/test/image/blend-mode-screen-8.swf b/test/image/blend-mode-screen-8.swf
new file mode 100644
index 00000000..e57e0993
--- /dev/null
+++ b/test/image/blend-mode-screen-8.swf
Binary files differ
diff --git a/test/image/blend-mode-screen-8.swf.png b/test/image/blend-mode-screen-8.swf.png
new file mode 100644
index 00000000..b7169a99
--- /dev/null
+++ b/test/image/blend-mode-screen-8.swf.png
Binary files differ
diff --git a/test/image/blend-mode.c b/test/image/blend-mode.c
new file mode 100644
index 00000000..c302cc48
--- /dev/null
+++ b/test/image/blend-mode.c
@@ -0,0 +1,134 @@
+/* gcc -Wall `pkg-config --libs --cflags libming glib-2.0` blend-mode.c -o blend-mode && ./blend-mode
+ */
+
+#include <ming.h>
+#include <glib.h>
+
+#define SIZE 240
+
+const char *modes[] = {
+ "0",
+ "normal",
+ "layer",
+ "multiply",
+ "screen",
+ "lighten",
+ "darken",
+ "difference",
+ "add",
+ "subtract",
+ "inverse",
+ "alpha",
+ "erase",
+ "overlay",
+ "hardlight",
+ "15"
+};
+
+SWFBitmap
+create_yellow_image (guint w, guint h)
+{
+ guint32 *data;
+ guint x, y;
+ SWFBitmap ret;
+
+ data = g_malloc (w * h * 4);
+ for (y = 0; y < h; y++) {
+ /* get 15 steps of 10 pixel high lines fading in yellow */
+ guint32 pixel = 255 / 15 * (y * 16 / h);
+ pixel *= 0x01010100;
+ for (x = 0; x < w; x++) {
+ data[y * w + x] = pixel;
+ }
+ }
+ ret = newSWFBitmap_fromData ((guint8 *) data, w, h, TRUE);
+ g_free (data);
+ return ret;
+}
+
+SWFBitmap
+create_teal_image (guint w, guint h)
+{
+ guint32 *data;
+ guint x, y;
+ SWFBitmap ret;
+
+ data = g_malloc (w * h * 4);
+ for (y = 0; y < h; y++) {
+ /* get 15 steps of 10 pixel high lines fading in yellow */
+ for (x = 0; x < w; x++) {
+ guint32 pixel = 255 / 15 * (x * 16 / w);
+ pixel *= 0x01000101;
+ data[y * w + x] = pixel;
+ }
+ }
+ ret = newSWFBitmap_fromData ((guint8 *) data, w, h, TRUE);
+ g_free (data);
+ return ret;
+}
+
+static SWFDisplayItem
+add_images (SWFMovie movie, int blend_mode)
+{
+ SWFBitmap bitmap;
+ SWFShape shape;
+ SWFMovieClip clip;
+ SWFDisplayItem item;
+
+ clip = newSWFMovieClip ();
+
+ bitmap = create_yellow_image (SIZE, SIZE);
+ shape = newSWFShapeFromBitmap (bitmap, SWFFILL_CLIPPED_BITMAP);
+ item = SWFMovieClip_add (clip, (SWFBlock) shape);
+ SWFDisplayItem_setDepth (item, 1);
+
+ bitmap = create_teal_image (SIZE, SIZE);
+ shape = newSWFShapeFromBitmap (bitmap, SWFFILL_CLIPPED_BITMAP);
+ item = SWFMovieClip_add (clip, (SWFBlock) shape);
+ SWFDisplayItem_setDepth (item, 2);
+ SWFDisplayItem_setBlendMode (item, blend_mode);
+
+ SWFMovieClip_nextFrame (clip);
+
+ item = SWFMovie_add (movie, (SWFBlock) clip);
+ SWFDisplayItem_setBlendMode (item, SWFBLEND_MODE_LAYER);
+
+ return item;
+}
+
+static void
+do_movie (int version)
+{
+ SWFMovie movie;
+ char *real_name;
+ int mode;
+
+ for (mode = 0; mode < G_N_ELEMENTS (modes); mode++) {
+ movie = newSWFMovieWithVersion (version);
+ movie = newSWFMovie();
+ SWFMovie_setRate (movie, 1);
+ SWFMovie_setDimension (movie, SIZE, SIZE);
+ SWFMovie_setBackground (movie, 0, 0, 0);
+
+ add_images (movie, mode);
+ SWFMovie_nextFrame (movie);
+
+ real_name = g_strdup_printf ("blend-mode-%s-%d.swf", modes[mode], version);
+ SWFMovie_save (movie, real_name);
+ g_free (real_name);
+ }
+}
+
+int
+main (int argc, char **argv)
+{
+ int i;
+
+ if (Ming_init ())
+ return 1;
+
+ for (i = 7; i < 9; i++)
+ do_movie (i);
+
+ return 0;
+}