From fbc5374b78d096cd306666dd6de96a716e7a3422 Mon Sep 17 00:00:00 2001 From: Joshua Moerman Date: Wed, 17 Apr 2013 09:42:26 +0200 Subject: [PATCH] Fixed mouse position bug --- drawing.js | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/drawing.js b/drawing.js index 899f4c3..7d107a4 100644 --- a/drawing.js +++ b/drawing.js @@ -12,10 +12,17 @@ var drawing = { }; function down(e){ - line.starting_point.x = e.pageX - this.offsetLeft; - line.starting_point.y = e.pageY - this.offsetTop; - line.end_point.x = e.pageX - this.offsetLeft; - line.end_point.y = e.pageY - this.offsetTop; + var x = e.pageX, y = e.pageY; + var obj = e.target; + do { + x -= obj.offsetLeft; + y -= obj.offsetTop; + } while(obj = obj.offsetParent); + + line.starting_point.x = x; + line.starting_point.y = y; + line.end_point.x = x; + line.end_point.y = y; drawing.active = true; drawing.draw_start(line); @@ -29,8 +36,15 @@ function up(e){ function move(e){ if(drawing.active){ - line.end_point.x = e.pageX - this.offsetLeft; - line.end_point.y = e.pageY - this.offsetTop; + var x = e.pageX, y = e.pageY; + var obj = e.target; + do { + x -= obj.offsetLeft; + y -= obj.offsetTop; + } while(obj = obj.offsetParent); + + line.end_point.x = x; + line.end_point.y = y; drawing.draw_move(line); }