90 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
if (window.context == undefined)
 | 
						|
{
 | 
						|
    window.context = {};
 | 
						|
}
 | 
						|
 | 
						|
window.context.drag_mouse = (dx, dy, buttons, element) => {
 | 
						|
    let sx = null;
 | 
						|
    let sy = null;
 | 
						|
 | 
						|
    if (element == undefined)
 | 
						|
    {
 | 
						|
        element = document.body;
 | 
						|
    }
 | 
						|
    if (buttons == undefined)
 | 
						|
    {
 | 
						|
        buttons = []
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        let t1 = element.getBoundingClientRect();
 | 
						|
        sx = t1.left + t1.width / 2;
 | 
						|
        sy = t1.top + t1.height / 2;
 | 
						|
    }
 | 
						|
    //console.log([sx, sy]);
 | 
						|
 | 
						|
    t2 = (btn, mvx, mvy, clx, cly, t) => {
 | 
						|
        return new MouseEvent(
 | 
						|
            t,
 | 
						|
            {
 | 
						|
                type: t,
 | 
						|
                button: btn,
 | 
						|
                target: element,
 | 
						|
                movementX: mvx,
 | 
						|
                movementY: mvy,
 | 
						|
                clientX: clx,
 | 
						|
                clientY: cly,
 | 
						|
                shiftKey: false, // you don't need to include values
 | 
						|
                ctrlKey: false,  // if you aren't going to use them.
 | 
						|
                metaKey: false   // these are here for example's sake.
 | 
						|
            }
 | 
						|
        );
 | 
						|
    }
 | 
						|
 | 
						|
    t3 = [
 | 
						|
        t2(-1, 0, 0, sx, sy, "mousemove"),
 | 
						|
        t2(pc.MOUSEBUTTON_LEFT, 0, 0, sx, sy, "mousedown"),
 | 
						|
        t2(-1, 0, 0, sx, sy, "mousemove"),
 | 
						|
        t2(-1, dx, dy, sx + dx, sy + dy, "mousemove"),
 | 
						|
        t2(-1, 0, 0, sx + dx, sy + dy, "mousemove"),
 | 
						|
        t2(-1, 0, 0, sx + dx, sy + dy, "mousemove"),
 | 
						|
        t2(pc.MOUSEBUTTON_LEFT, 0, 0, sx + dx, sy + dy, "mouseup"),
 | 
						|
    ];
 | 
						|
    if (true)
 | 
						|
    {
 | 
						|
        window.dispatchEvent(t3[0]);
 | 
						|
    }
 | 
						|
    if (true)
 | 
						|
    {
 | 
						|
        for (let button in buttons)
 | 
						|
        {
 | 
						|
            let event = t2(
 | 
						|
                button, 0, 0, sx, sy, "mousedown"
 | 
						|
            );
 | 
						|
            window.dispatchEvent(event);
 | 
						|
        }
 | 
						|
    }
 | 
						|
    t3.slice(3, 4).forEach(
 | 
						|
        (o) => window.dispatchEvent(o)
 | 
						|
    );
 | 
						|
    //t3.slice(4, 5).forEach(
 | 
						|
    //    (o) => window.dispatchEvent(o)
 | 
						|
    //);
 | 
						|
    //t3.slice(5, 6).forEach(
 | 
						|
    //    (o) => window.dispatchEvent(o)
 | 
						|
    //);
 | 
						|
 | 
						|
    if (false)
 | 
						|
    {
 | 
						|
        for (let button in buttons)
 | 
						|
        {
 | 
						|
            let event = t2(
 | 
						|
                button, 0, 0, sx + dx, sy + dy, "mouseup",
 | 
						|
            );
 | 
						|
            window.dispatchEvent(event);
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    window.dispatchEvent(t3[6]);
 | 
						|
}
 |