Let HTML5 mouse defaults be canceled

This commit is contained in:
Joshua Granick
2016-12-02 19:01:05 -08:00
parent ca98e999f3
commit c69ef33105
2 changed files with 50 additions and 1 deletions

View File

@@ -172,7 +172,7 @@ class HTML5AudioSource {
//if (playing) buffer.__srcHowl.play (id);
var pos = (value + parent.offset) / 1000;
if ( pos < 0 ) pos = 0;
if (pos < 0) pos = 0;
parent.buffer.__srcHowl.seek (pos, id);
}

View File

@@ -209,6 +209,8 @@ class HTML5Window {
return true;
}, false);
element.addEventListener ("contextmenu", handleContextMenuEvent, true);
element.addEventListener ("touchstart", handleTouchEvent, true);
element.addEventListener ("touchmove", handleTouchEvent, true);
element.addEventListener ("touchend", handleTouchEvent, true);
@@ -242,6 +244,17 @@ class HTML5Window {
}
private function handleContextMenuEvent (event:MouseEvent):Void {
if (parent.onMouseUp.canceled) {
event.preventDefault ();
}
}
private function handleFocusEvent (event:FocusEvent):Void {
if (enableTextEvents) {
@@ -358,6 +371,12 @@ class HTML5Window {
case "mousedown":
parent.onMouseDown.dispatch (x, y, event.button);
if (parent.onMouseDown.canceled) {
event.preventDefault ();
}
case "mouseenter":
@@ -365,6 +384,12 @@ class HTML5Window {
parent.onEnter.dispatch ();
if (parent.onEnter.canceled) {
event.preventDefault ();
}
}
case "mouseleave":
@@ -373,11 +398,23 @@ class HTML5Window {
parent.onLeave.dispatch ();
if (parent.onLeave.canceled) {
event.preventDefault ();
}
}
case "mouseup":
parent.onMouseUp.dispatch (x, y, event.button);
if (parent.onMouseUp.canceled) {
event.preventDefault ();
}
case "mousemove":
@@ -386,6 +423,12 @@ class HTML5Window {
parent.onMouseMove.dispatch (x, y);
parent.onMouseMoveRelative.dispatch (x - cacheMouseX, y - cacheMouseY);
if (parent.onMouseMove.canceled || parent.onMouseMoveRelative.canceled) {
event.preventDefault ();
}
}
default:
@@ -399,6 +442,12 @@ class HTML5Window {
parent.onMouseWheel.dispatch (untyped event.deltaX, - untyped event.deltaY);
if (parent.onMouseWheel.canceled) {
event.preventDefault ();
}
}
}