[spice-HTML5][PATCH try3] Handling cursor caching

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

 



Signed-off-by: Vincent Desprez <vincent.desprez@xxxxxxxxxx>
---
 cursor.js | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/cursor.js b/cursor.js
index e3f6e0e..f495190 100644
--- a/cursor.js
+++ b/cursor.js
@@ -59,7 +59,7 @@ SpiceCursorConn.prototype.process_channel_message = function(msg)
             return true;
         }
 
-        if (cursor_set.flags > 0)
+        if (cursor_set.flags & 1)
             this.log_warn("FIXME: No support for cursor flags " + cursor_set.flags);
 
         if (cursor_set.cursor.header.type != SPICE_CURSOR_TYPE_ALPHA)
@@ -83,9 +83,17 @@ SpiceCursorConn.prototype.process_channel_message = function(msg)
     return false;
 }
 
+SpiceCursorConn.cursor_cache = [];
 SpiceCursorConn.prototype.set_cursor = function(cursor)
 {
-    var pngstr = create_rgba_png(cursor.header.height, cursor.header.width, cursor.data);
+    if (cursor.flags & 4)
+        var pngstr = SpiceCursorConn.cursor_cache[cursor.header.unique[0]];
+    else
+         var pngstr = create_rgba_png(cursor.header.height, cursor.header.width, cursor.data);
+
+    if (cursor.flags & 2)
+        SpiceCursorConn.cursor_cache[cursor.header.unique[0]] = pngstr;
+
     var curstr = 'url(data:image/png,' + pngstr + ') ' + 
         cursor.header.hot_spot_x + ' ' + cursor.header.hot_spot_y + ", default";
     document.getElementById(this.parent.screen_id).style.cursor = curstr;
-- 
1.8.2

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]