diff -r cefce0845ac5 -r 8393d3473b98 front_idill/src/search/js/searchCanvas.js --- a/front_idill/src/search/js/searchCanvas.js Fri Jun 29 15:46:34 2012 +0200 +++ b/front_idill/src/search/js/searchCanvas.js Fri Jun 29 16:16:24 2012 +0200 @@ -8,9 +8,12 @@ this.margin_top = _margin_top; //tool.fixedDistance = 10; - this.path; - this.pathStroke; - this.lastPoint; + this.mainPath; + this.mainPathStroke; + this.mainLastPoint; + this.secondPath; + this.secondPathStroke; + this.secondLastPoint; this.inMosaic = _inMosaic; @@ -44,9 +47,9 @@ paper.setup('paperCanvas'); - this.hitTool.onMouseDown = this.onMouseDown; - this.hitTool.onMouseDrag = this.onMouseDrag; - this.hitTool.onMouseUp = this.onMouseUp; + this.hitTool.onMouseDown = this.onPointerIn; + this.hitTool.onMouseDrag = this.onPointerMove; + this.hitTool.onMouseUp = this.onPointerOut; this.hitTool.onKeyDown = this.onKeyDown; }; @@ -58,43 +61,96 @@ }); }; -searchCanvas.prototype.onMouseDown = function(event) +searchCanvas.prototype.onPointerIn = function(mainPointerX, mainPointerY, secondPointerX, secondPointerY) { - this.pathStroke = new paper.Path(); - this.path = new paper.Path(); + this.mainPathStroke = new paper.Path(); + this.mainPath = new paper.Path(); + this.secondPathStroke = new paper.Path(); + this.secondPath = new paper.Path(); + + this.mainPathStroke.fillColor = '#366F7A'; + this.mainPath.fillColor = '#02FEFF'; + this.secondPathStroke.fillColor = '#366F7A'; + this.secondPath.fillColor = '#02FEFF'; + + // var pointerX = e.point.x, pointerY = e.point.y; - this.pathStroke.fillColor = '#366F7A'; - this.path.fillColor = '#02FEFF'; + console.log('IN'); + + var mainPoint = new paper.Point(mainPointerX, mainPointerY); + var secondPoint = new paper.Point(secondPointerX, secondPointerY); - this.pathStroke.add(event.point); + if(!this.mainLastPoint) + { + this.mainLastPoint = mainPoint; + } + if(!this.secondLastPoint) + { + this.secondLastPoint = secondPoint; + } }; -searchCanvas.prototype.onMouseDrag = function(event) +searchCanvas.prototype.onPointerMove = function(mainPointerX, mainPointerY, secondPointerX, secondPointerY) { - var step = event.delta.divide(new paper.Point(4, 4)); - var stepStroke = event.delta.divide(new paper.Point(2, 2)); - step.angle += 90; - stepStroke.angle += 90; - - var top = event.middlePoint.add(step); - var bottom = event.middlePoint.add(step.negate()); + // var pointerX = e.point.x, pointerY = e.point.y; + + var mainPoint = new paper.Point(mainPointerX, mainPointerY); + var secondPoint = new paper.Point(secondPointerX, secondPointerY); + // var delta = new paper.Point(point.x - this.lastPoint.x, point.y - this.lastPoint.y); + var mainDelta = new paper.Point(15, 15); + var secondDelta = new paper.Point(15, 15); + + this.mainLastPoint = mainPoint; + this.secondLastPoint = secondPoint; + + var mainStep = mainDelta.divide(new paper.Point(4, 4)); + var secondStep = secondDelta.divide(new paper.Point(4, 4)); + + var mainStepStroke = mainDelta.divide(new paper.Point(2, 2)); + mainStep.angle += 90; + mainStepStroke.angle += 90; + var secondStepStroke = secondDelta.divide(new paper.Point(2, 2)); + secondStep.angle += 90; + secondStepStroke.angle += 90; - var topStroke = event.middlePoint.add(stepStroke); - var bottomStroke = event.middlePoint.add(stepStroke.negate()); + var mainTop = mainPoint.add(mainStep); + var mainBottom = mainPoint.add(mainStep.negate()); + var secondTop = secondPoint.add(secondStep); + var secondBottom = secondPoint.add(secondStep.negate()); + + var mainTopStroke = mainPoint.add(mainStepStroke); + var mainBottomStroke = mainPoint.add(mainStepStroke.negate()); + var secondTopStroke = secondPoint.add(secondStepStroke); + var secondBottomStroke = secondPoint.add(secondStepStroke.negate()); - this.path.add(top); - this.path.insert(0, bottom); - this.path.smooth(); + this.mainPath.add(mainTop); + this.mainPath.insert(0, mainBottom); + this.mainPath.smooth(); + + this.secondPath.add(secondTop); + this.secondPath.insert(0, secondBottom); + this.secondPath.smooth(); - this.pathStroke.add(topStroke); - this.pathStroke.insert(0, bottomStroke); - this.pathStroke.smooth(); + this.mainPathStroke.add(mainTopStroke); + this.mainPathStroke.insert(0, mainBottomStroke); + this.mainPathStroke.smooth(); + + this.secondPathStroke.add(secondTopStroke); + this.secondPathStroke.insert(0, secondBottomStroke); + this.secondPathStroke.smooth(); + + paper.view.draw(); }; -searchCanvas.prototype.onMouseUp = function(event) +searchCanvas.prototype.onPointerOut = function() { - this.pathStroke.remove(); - this.path.remove(); + this.mainPathStroke.remove(); + this.mainPath.remove(); + this.mainLastPoint = null; + + this.secondPathStroke.remove(); + this.secondPath.remove(); + this.secondLastPoint = null; }; searchCanvas.prototype.onKeyDown = function(event)