Set correct cursor style for setCapture()

This commit is contained in:
Samuel Mannehed 2017-02-16 13:25:34 +01:00
parent 10d1ecc118
commit 8cbf1dd9d2
1 changed files with 14 additions and 0 deletions

View File

@ -507,6 +507,13 @@ Util._captureProxy = function (e) {
}
};
// Follow cursor style of target element
Util._captureElemChanged = function() {
var captureElem = document.getElementById("noVNC_mouse_capture_elem");
captureElem.style.cursor = window.getComputedStyle(Util._captureElem).cursor;
};
Util._captureObserver = new MutationObserver(Util._captureElemChanged);
Util.setCapture = function (elem) {
if (elem.setCapture) {
@ -558,6 +565,11 @@ Util.setCapture = function (elem) {
}
Util._captureElem = elem;
// Track cursor and get initial cursor
Util._captureObserver.observe(elem, {attributes:true});
Util._captureElemChanged();
captureElem.style.display = null;
// We listen to events on window in order to keep tracking if it
@ -586,6 +598,8 @@ Util.releaseCapture = function () {
// FIXME: What happens if setCapture is called before this fires?
window.setTimeout(function() { Util._captureElem = null; });
Util._captureObserver.disconnect();
var captureElem = document.getElementById("noVNC_mouse_capture_elem");
captureElem.style.display = "none";