jquery - Mixing Javascript and Mouse Events in Paper.js -
i trying time mouse zooming mouse wheel working nice on paper.js.
this necessitates use javascript well, since paper.js not have mousescroll event.
$(document).ready(function() { $('#canvas').bind('mousewheel dommousescroll mozmousepixelscroll', function(e) { var delta = 0; e.preventdefault(); if (e.type == 'mousewheel') { //this chrome/ie delta = e.originalevent.wheeldelta; } else if (e.type == 'dommousescroll') { //this firefox delta = e.originalevent.detail*-1; //firefox reverses scroll force to re-reverse... } if (delta > 0) { //scroll var zoomcenter = e.point.subtract(paper.view.center); var movefactor = toolzoomin.zoomfactor - 1.0; paper.view.zoom *= toolzoomin.zoomfactor; paper.view.center = paper.view.center.add(zoomcenter.multiply(movefactor/toolzoomin.zoomfactor)); toolzoomin.hittest(event); toolzoomin.mode = ''; } else if(delta < 0){ //scroll down //call zoomout here } }); });
native js events won't have point
property, need create point value it:
var point = paper.domevent.getpoint(event);
but since want point in relation canvas:
var point = paper.domevent.getoffset(event, $('#canvas')[0]);
with can convert project space using view.viewtoproject():
point = paper.view.viewtoproject(point);
Comments
Post a Comment