danik.js, хм, я тебя не так понял я думал ты имел ввиду обернуть mousemove
function onMousemove(e) {
setTimeout(function () {
setCoords(e, canvas, offsetElem, shift);
}, 5);
};
и да , работает не совсем правильно так как не всегда цвет меняеться при резком движении..