From 429ca016572db7efbfab36a49443a2772997d01f Mon Sep 17 00:00:00 2001 From: Matt Hortman Date: Mon, 5 Mar 2012 12:07:45 -0500 Subject: [PATCH] JS bitwise operators use all 32-bits, added mask to keep bitwise NOT to 8-bits --- src/main/resources/guacamole.js | 54 +++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/src/main/resources/guacamole.js b/src/main/resources/guacamole.js index b3a0b33..aee7fae 100644 --- a/src/main/resources/guacamole.js +++ b/src/main/resources/guacamole.js @@ -680,17 +680,17 @@ Guacamole.Client.DefaultTransferFunction = { /* Invert SRC */ 0xC: function (src, dst) { - dst.red = ~src.red; - dst.green = ~src.green; - dst.blue = ~src.blue; + dst.red = 0xFF & ~src.red; + dst.green = 0xFF & ~src.green; + dst.blue = 0xFF & ~src.blue; dst.alpha = src.alpha; }, /* Invert DEST */ 0xA: function (src, dst) { - dst.red = ~dst.red; - dst.green = ~dst.green; - dst.blue = ~dst.blue; + dst.red = 0xFF & ~dst.red; + dst.green = 0xFF & ~dst.green; + dst.blue = 0xFF & ~dst.blue; }, /* AND */ @@ -702,9 +702,9 @@ Guacamole.Client.DefaultTransferFunction = { /* NAND */ 0xE: function (src, dst) { - dst.red = ~( src.red & dst.red); - dst.green = ~( src.green & dst.green); - dst.blue = ~( src.blue & dst.blue); + dst.red = 0xFF & ~( src.red & dst.red); + dst.green = 0xFF & ~( src.green & dst.green); + dst.blue = 0xFF & ~( src.blue & dst.blue); }, /* OR */ @@ -716,9 +716,9 @@ Guacamole.Client.DefaultTransferFunction = { /* NOR */ 0x8: function (src, dst) { - dst.red = ~( src.red | dst.red); - dst.green = ~( src.green | dst.green); - dst.blue = ~( src.blue | dst.blue); + dst.red = 0xFF & ~( src.red | dst.red); + dst.green = 0xFF & ~( src.green | dst.green); + dst.blue = 0xFF & ~( src.blue | dst.blue); }, /* XOR */ @@ -730,37 +730,37 @@ Guacamole.Client.DefaultTransferFunction = { /* XNOR */ 0x9: function (src, dst) { - dst.red = ~( src.red ^ dst.red); - dst.green = ~( src.green ^ dst.green); - dst.blue = ~( src.blue ^ dst.blue); + dst.red = 0xFF & ~( src.red ^ dst.red); + dst.green = 0xFF & ~( src.green ^ dst.green); + dst.blue = 0xFF & ~( src.blue ^ dst.blue); }, /* AND inverted source */ 0x4: function (src, dst) { - dst.red = (~src.red & dst.red); - dst.green = (~src.green & dst.green); - dst.blue = (~src.blue & dst.blue); + dst.red = 0xFF & (~src.red & dst.red); + dst.green = 0xFF & (~src.green & dst.green); + dst.blue = 0xFF & (~src.blue & dst.blue); }, /* OR inverted source */ 0xD: function (src, dst) { - dst.red = (~src.red | dst.red); - dst.green = (~src.green | dst.green); - dst.blue = (~src.blue | dst.blue); + dst.red = 0xFF & (~src.red | dst.red); + dst.green = 0xFF & (~src.green | dst.green); + dst.blue = 0xFF & (~src.blue | dst.blue); }, /* AND inverted destination */ 0x2: function (src, dst) { - dst.red = ( src.red & ~dst.red); - dst.green = ( src.green & ~dst.green); - dst.blue = ( src.blue & ~dst.blue); + dst.red = 0xFF & ( src.red & ~dst.red); + dst.green = 0xFF & ( src.green & ~dst.green); + dst.blue = 0xFF & ( src.blue & ~dst.blue); }, /* OR inverted destination */ 0xB: function (src, dst) { - dst.red = ( src.red | ~dst.red); - dst.green = ( src.green | ~dst.green); - dst.blue = ( src.blue | ~dst.blue); + dst.red = 0xFF & ( src.red | ~dst.red); + dst.green = 0xFF & ( src.green | ~dst.green); + dst.blue = 0xFF & ( src.blue | ~dst.blue); } }; -- 1.7.10.4