You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by kp...@apache.org on 2013/10/16 04:19:53 UTC
svn commit: r1532628 - in /tomcat/tc7.0.x/trunk: ./
webapps/examples/websocket/drawboard.xhtml
Author: kpreisser
Date: Wed Oct 16 02:19:53 2013
New Revision: 1532628
URL: http://svn.apache.org/r1532628
Log:
Merged revision(s) 1532627 from tomcat/trunk:
Prevent default mouse event on Canvas element to prevent browsers from marking text (and Chrome from displaying the "text" cursor).
Modified:
tomcat/tc7.0.x/trunk/ (props changed)
tomcat/tc7.0.x/trunk/webapps/examples/websocket/drawboard.xhtml
Propchange: tomcat/tc7.0.x/trunk/
------------------------------------------------------------------------------
Merged /tomcat/trunk:r1532627
Modified: tomcat/tc7.0.x/trunk/webapps/examples/websocket/drawboard.xhtml
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/examples/websocket/drawboard.xhtml?rev=1532628&r1=1532627&r2=1532628&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/webapps/examples/websocket/drawboard.xhtml (original)
+++ tomcat/tc7.0.x/trunk/webapps/examples/websocket/drawboard.xhtml Wed Oct 16 02:19:53 2013
@@ -169,6 +169,11 @@
var canvasServerImage = document.createElement("canvas");
var canvasArray = [canvasDisplay, canvasBackground,
canvasServerImage];
+ canvasDisplay.addEventListener("mousedown", function(e) {
+ // Prevent default mouse event to prevent browsers from marking text
+ // (and Chrome from displaying the "text" cursor).
+ e.preventDefault();
+ }, false);
var labelPlayerCount = document.createTextNode("0");
var optionContainer = document.createElement("div");
@@ -177,6 +182,8 @@
var canvasDisplayCtx = canvasDisplay.getContext("2d");
var canvasBackgroundCtx = canvasBackground.getContext("2d");
var canvasServerImageCtx = canvasServerImage.getContext("2d");
+ var canvasMouseMoveHandler;
+ var canvasMouseDownHandler;
var mouseInWindow = false;
var mouseDown = false;
@@ -525,14 +532,14 @@
drawContainer.appendChild(canvasDisplay);
drawContainer.appendChild(optionContainer);
-
- canvasDisplay.onmousedown = function(e) {
+
+ canvasMouseDownHandler = function(e) {
if (e.button == 0) {
currentMouseX = e.pageX - canvasDisplay.offsetLeft;
currentMouseY = e.pageY - canvasDisplay.offsetTop;
mouseDown = true;
- canvasMouseMove(e);
+ canvasMouseMoveHandler(e);
} else if (mouseDown) {
// Cancel drawing.
@@ -544,9 +551,10 @@
refreshDisplayCanvas();
}
- }
+ };
+ canvasDisplay.addEventListener("mousedown", canvasMouseDownHandler, false);
- var canvasMouseMove = canvasDisplay.onmousemove = function(e) {
+ canvasMouseMoveHandler = function(e) {
mouseInWindow = true;
var mouseX = e.pageX - canvasDisplay.offsetLeft;
var mouseY = e.pageY - canvasDisplay.offsetTop;
@@ -588,8 +596,9 @@
refreshDisplayCanvas();
};
+ canvasDisplay.addEventListener("mousemove", canvasMouseMoveHandler, false);
- canvasDisplay.onmouseup = function(e) {
+ canvasDisplay.addEventListener("mouseup", function(e) {
if (e.button == 0) {
if (mouseDown) {
mouseDown = false;
@@ -616,12 +625,12 @@
refreshDisplayCanvas();
}
}
- };
+ }, false);
- canvasDisplay.onmouseout = function() {
+ canvasDisplay.addEventListener("mouseout", function(e) {
mouseInWindow = false;
refreshDisplayCanvas();
- };
+ }, false);
// Create color and thickness controls.
@@ -645,11 +654,11 @@
"margin: 3px; width: 18px; height: 18px; "
+ "float: left; background-color: " + rgb(color));
colorContainer.style.border = '2px solid #000';
- colorContainer.onmousedown = (function(ix) {
+ colorContainer.addEventListener("mousedown", (function(ix) {
return function() {
setColor(ix);
};
- })(i);
+ })(i), false);
colorContainersBox.appendChild(colorContainer);
}
@@ -674,11 +683,11 @@
drawTypeContainer.style.border = "2px solid #000";
drawTypeContainer.appendChild(document.createTextNode(
String(availableDrawTypes[i].name)));
- drawTypeContainer.onmousedown = (function(ix) {
+ drawTypeContainer.addEventListener("mousedown", (function(ix) {
return function() {
setDrawType(ix);
};
- })(i);
+ })(i), false);
drawTypeContainersBox.appendChild(drawTypeContainer);
}
@@ -699,11 +708,11 @@
thicknessContainer.style.border = "2px solid #000";
thicknessContainer.appendChild(document.createTextNode(
String(availableThicknesses[i])));
- thicknessContainer.onmousedown = (function(ix) {
+ thicknessContainer.addEventListener("mousedown", (function(ix) {
return function() {
setThickness(ix);
};
- })(i);
+ })(i), false);
thicknessContainersBox.appendChild(thicknessContainer);
}
@@ -721,8 +730,8 @@
}
function disableControls() {
- canvasDisplay.onmousemove = canvasDisplay.onmousedown =
- undefined;
+ canvasDisplay.removeEventListener("mousedown", canvasMouseDownHandler);
+ canvasDisplay.removeEventListener("mousemove", canvasMouseMoveHandler);
mouseInWindow = false;
refreshDisplayCanvas();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org