Merge pull request #1112 from Enelg52/mouseXY

Add the mousex and mousey signal
This commit is contained in:
Felix Roos 2024-05-29 13:06:34 +02:00 committed by GitHub
commit d86a183194
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 82 additions and 0 deletions

View file

@ -86,6 +86,38 @@ export const tri2 = fastcat(isaw2, saw2);
export const time = signal(id);
/**
* The mouse's x position value ranges from 0 to 1.
* @name mousex
* @return {Pattern}
* @example
* n(mousex.segment(4).range(0,7)).scale("C:minor")
*
*/
/**
* The mouse's y position value ranges from 0 to 1.
* @name mousey
* @return {Pattern}
* @example
* n(mousey.segment(4).range(0,7)).scale("C:minor")
*
*/
let _mouseY = 0,
_mouseX = 0;
if (typeof window !== 'undefined') {
//document.onmousemove = (e) => {
document.addEventListener('mousemove', (e) => {
_mouseY = e.clientY / document.body.clientHeight;
_mouseX = e.clientX / document.body.clientWidth;
});
}
export const mousey = signal(() => _mouseY);
export const mouseY = signal(() => _mouseY);
export const mousex = signal(() => _mouseX);
export const mouseX = signal(() => _mouseX);
// random signals
const xorwise = (x) => {