aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Quirk <richard.quirk@gmail.com>2013-09-24 21:27:55 +0200
committerAlon Zakai <alonzakai@gmail.com>2013-09-24 17:53:45 -0700
commit4c845acc4c6e370825522076d1528df4daece274 (patch)
tree0f88d201094631bd8e3061d2da48064ff3a28a89
parent2df6b614c001fd7c3c6e8fa13c510c903f09841a (diff)
Fix entire surface alpha blending with SDL_SetAlpha
-rw-r--r--AUTHORS1
-rw-r--r--src/library_sdl.js3
2 files changed, 4 insertions, 0 deletions
diff --git a/AUTHORS b/AUTHORS
index 5b4ee949..d8f9da02 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -98,4 +98,5 @@ a license to everyone to use it as detailed in LICENSE.)
* Ranger Harke <ranger.harke@autodesk.com> (copyright owned by Autodesk, Inc.)
* Tobias Vrinssen <tobias@vrinssen.de>
* Patrick R. Martin <patrick.martin.r@gmail.com>
+* Richard Quirk <richard.quirk@gmail.com>
diff --git a/src/library_sdl.js b/src/library_sdl.js
index d6473df0..63e8b2b1 100644
--- a/src/library_sdl.js
+++ b/src/library_sdl.js
@@ -1131,7 +1131,10 @@ var LibrarySDL = {
} else {
dr = { x: 0, y: 0, w: -1, h: -1 };
}
+ var oldAlpha = dstData.ctx.globalAlpha;
+ dstData.ctx.globalAlpha = srcData.alpha/255;
dstData.ctx.drawImage(srcData.canvas, sr.x, sr.y, sr.w, sr.h, dr.x, dr.y, sr.w, sr.h);
+ dstData.ctx.globalAlpha = oldAlpha;
if (dst != SDL.screen) {
// XXX As in IMG_Load, for compatibility we write out |pixels|
console.log('WARNING: copying canvas data to memory for compatibility');