Skip to content

Commit

Permalink
Merge branch 'fix-touch-events' of github.com:Touchit/raphael into To…
Browse files Browse the repository at this point in the history
…uchit-fix-touch-events

* 'fix-touch-events' of github.com:Touchit/raphael:
  Fix Touch events selection in dragMove method
  Fix Gruntfile to build in windows environment
  Fix Touch events on Firefox and Chrome

Conflicts:
	raphael-min.js
	raphael.js
  • Loading branch information
tomasAlabes committed Jun 23, 2013
2 parents aad6517 + c5ffca3 commit 3742b46
Show file tree
Hide file tree
Showing 5 changed files with 92 additions and 55 deletions.
2 changes: 1 addition & 1 deletion Gruntfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ module.exports = function(grunt) {
svgorvmlRegex = /\.(svg|vml)\.js/,
closureRegex = /window\.Raphael.*\(R\)\s*\{/,
closureEndRegex = /\}\(window\.Raphael\);\s*$/,
exposeRegex = /(\n\s*\/\/\s*EXPOSE(?:\n|.)*\}\)\);)/;
exposeRegex = /(\r?\n\s*\/\/\s*EXPOSE(?:\r|\n|.)*\}\)\);)/;

// Concatenate src
src.forEach(function(path) {
Expand Down
6 changes: 3 additions & 3 deletions raphael-min.js

Large diffs are not rendered by default.

46 changes: 32 additions & 14 deletions raphael.core.js
Original file line number Diff line number Diff line change
Expand Up @@ -2692,32 +2692,50 @@
stopTouch = function () {
return this.originalEvent.stopPropagation();
},
getEventPosition = function (e) {
var scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop,
scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft;

return {
x: e.clientX + scrollX,
y: e.clientY + scrollY
};
},
addEvent = (function () {
if (g.doc.addEventListener) {
return function (obj, type, fn, element) {
var realName = supportsTouch && touchMap[type] ? touchMap[type] : type,
f = function (e) {
var scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop,
scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft,
x = e.clientX + scrollX,
y = e.clientY + scrollY;
if (supportsTouch && touchMap[has](type)) {
var f = function (e) {
var pos = getEventPosition(e);
return fn.call(element, e, pos.x, pos.y);
};
obj.addEventListener(type, f, false);

if (supportsTouch && touchMap[type]) {
var _f = function (e) {
var pos = getEventPosition(e),
olde = e;

for (var i = 0, ii = e.targetTouches && e.targetTouches.length; i < ii; i++) {
if (e.targetTouches[i].target == obj) {
var olde = e;
e = e.targetTouches[i];
e.originalEvent = olde;
e.preventDefault = preventTouch;
e.stopPropagation = stopTouch;
break;
}
}
}
return fn.call(element, e, x, y);
};
obj.addEventListener(realName, f, false);

return fn.call(element, e, pos.x, pos.y);
};
obj.addEventListener(touchMap[type], _f, false);
}

return function () {
obj.removeEventListener(realName, f, false);
obj.removeEventListener(type, f, false);

if (supportsTouch && touchMap[type])
obj.removeEventListener(touchMap[type], f, false);

return true;
};
};
Expand Down Expand Up @@ -2752,7 +2770,7 @@
j = drag.length;
while (j--) {
dragi = drag[j];
if (supportsTouch) {
if (supportsTouch && e.touches) {
var i = e.touches.length,
touch;
while (i--) {
Expand Down
47 changes: 33 additions & 14 deletions raphael.js
Original file line number Diff line number Diff line change
Expand Up @@ -3071,32 +3071,51 @@
stopTouch = function () {
return this.originalEvent.stopPropagation();
},
getEventPosition = function (e) {
var scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop,
scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft;

return {
x: e.clientX + scrollX,
y: e.clientY + scrollY
};
},
addEvent = (function () {
if (g.doc.addEventListener) {
return function (obj, type, fn, element) {
var realName = supportsTouch && touchMap[type] ? touchMap[type] : type,
f = function (e) {
var scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop,
scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft,
x = e.clientX + scrollX,
y = e.clientY + scrollY;
if (supportsTouch && touchMap[has](type)) {
var f = function (e) {
var pos = getEventPosition(e);
return fn.call(element, e, pos.x, pos.y);
};
obj.addEventListener(type, f, false);

if (supportsTouch && touchMap[type]) {
var _f = function (e) {
var pos = getEventPosition(e),
olde = e;

for (var i = 0, ii = e.targetTouches && e.targetTouches.length; i < ii; i++) {
if (e.targetTouches[i].target == obj) {
var olde = e;
e = e.targetTouches[i];
e.originalEvent = olde;
e.preventDefault = preventTouch;
e.stopPropagation = stopTouch;
break;
}
}
}
return fn.call(element, e, x, y);
};
obj.addEventListener(realName, f, false);

return fn.call(element, e, pos.x, pos.y);
};

obj.addEventListener(touchMap[type], _f, false);
}

return function () {
obj.removeEventListener(realName, f, false);
obj.removeEventListener(type, f, false);

if (supportsTouch && touchMap[type])
obj.removeEventListener(touchMap[type], f, false);

return true;
};
};
Expand Down Expand Up @@ -3131,7 +3150,7 @@
j = drag.length;
while (j--) {
dragi = drag[j];
if (supportsTouch) {
if (supportsTouch && e.touches) {
var i = e.touches.length,
touch;
while (i--) {
Expand Down
46 changes: 23 additions & 23 deletions raphaelTest.html
Original file line number Diff line number Diff line change
@@ -1,37 +1,37 @@
<!DOCTYPE html>
<head>
<title>Raphael Dev testing html</title>
<title>Raphael Dev testing html</title>

<!-- HTML to try new developments in Raphael -->
<!-- HTML to try new developments in Raphael -->

<!-- Global use -->
<!-- Global use -->

<!-- Remember to run to pull the eve submodule -->
<!-- To work with concatenated version -->
<!--<script type="text/javascript" src="raphael.js"></script>-->
<!-- Remember to run to pull the eve submodule -->
<!-- To work with concatenated version -->
<!--<script type="text/javascript" src="raphael.js"></script>-->

<!-- To work with minified version -->
<!--<script type="text/javascript" src="raphael-min.js"></script>-->
<!-- To work with minified version -->
<!--<script type="text/javascript" src="raphael-min.js"></script>-->

<!-- To work with dev versions -->
<script type="text/javascript" src=" ./eve/eve.js"></script>
<script type="text/javascript" src="raphael.core.js"></script>
<script type="text/javascript" src="raphael.svg.js"></script>
<!-- To work with dev versions -->
<script type="text/javascript" src=" ./eve/eve.js"></script>
<script type="text/javascript" src="raphael.core.js"></script>
<script type="text/javascript" src="raphael.svg.js"></script>

<script type="text/javascript">
// Initialize container when document is loaded
window.onload = function(){
paper = Raphael(0, 0, 640, 720, "container");
};
//Work here, in a separate script file or via command line
</script>
<script type="text/javascript">
// Initialize container when document is loaded
window.onload = function () {
paper = Raphael(0, 0, 640, 720, "container");
};
//Work here, in a separate script file or via command line
</script>

<!-- AMD use -->
<!--<script data-main="test" src="require.js"></script>-->
<!-- AMD use -->
<!--<script data-main="test" src="require.js"></script>-->

</head>
<body>
<!-- Container for svg/vml root element -->
<div id="container"></div>
<!-- Container for svg/vml root element -->
<div id="container"></div>
</body>
</html>

0 comments on commit 3742b46

Please sign in to comment.