[gtk+] broadway: Extract buffer decoding to separate helper



commit 688b6e63b5abba9a03ba817016cb60153e3960c7
Author: Alexander Larsson <alexl redhat com>
Date:   Fri Nov 8 10:13:12 2013 +0100

    broadway: Extract buffer decoding to separate helper

 gdk/broadway/broadway.js |   24 ++++++++++++++++--------
 1 files changed, 16 insertions(+), 8 deletions(-)
---
diff --git a/gdk/broadway/broadway.js b/gdk/broadway/broadway.js
index 90e7eb0..f7ce699 100644
--- a/gdk/broadway/broadway.js
+++ b/gdk/broadway/broadway.js
@@ -329,13 +329,10 @@ function copyRect(src, srcX, srcY, dest, destX, destY, width, height)
     }
 }
 
-function cmdPutBuffer(id, w, h, compressed)
+function decodeBuffer(context, oldData, w, h, data)
 {
-    var surface = surfaces[id];
-    var context = surface.canvas.getContext("2d");
-    var imageData = context.createImageData(w, h);
-    var oldData = surface.imageData;
     var i, j;
+    var imageData = context.createImageData(w, h);
 
     if (oldData != null) {
         // Copy old frame into new buffer
@@ -345,9 +342,6 @@ function cmdPutBuffer(id, w, h, compressed)
     var src = 0;
     var dest = 0;
 
-    var inflate = new Zlib.RawInflate(compressed);
-    var data = inflate.decompress();
-
     while (src < data.length)  {
         var b = data[src++];
         var g = data[src++];
@@ -442,6 +436,20 @@ function cmdPutBuffer(id, w, h, compressed)
         }
     }
 
+    return imageData;
+}
+
+
+function cmdPutBuffer(id, w, h, compressed)
+{
+    var surface = surfaces[id];
+    var context = surface.canvas.getContext("2d");
+
+    var inflate = new Zlib.RawInflate(compressed);
+    var data = inflate.decompress();
+
+    var imageData = decodeBuffer (context, surface.imageData, w, h, data);
+
     context.putImageData(imageData, 0, 0);
     surface.imageData = imageData;
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]