$this.wheelZoom(deltaY);
})
+
$(document).on('mousemove', 'body', function (e) {
$this.moveZoom(e);
});
},
moveZoom: function (e) {
- var x = 100 * e.pageX / $(window).width();
- var y = 100 * e.pageY / $(window).height();
+ if (this.fluidbook.zoom.zoom > 1) {
+ console.log(e.pageX + ' | ' + e.pageY);
+ }
+
+ var x = 100 * e.pageX / this.fluidbook.resize.ww;
+ var y = 100 * e.pageY / this.fluidbook.resize.hh;
this.fluidbook.zoom.setOrigin(x + '%', y + '%')
},
}
},
_loadTexts: function (pageNr, callback) {
- console.log('load texts ' + pageNr);
var w = this.fluidbook.datas.width / 0.75;
var h = this.fluidbook.datas.height / 0.75;
this.texts[pageNr] = this.loadImage(this.getTextsURL(pageNr), w, h, 'image/svg+xml', callback);
this.fluidbook.setCurrentPage(page);
}
if (updateCursor) {
- console.log('move to page ' + page);
this.updateCursorPosition(page);
}
return false;
}
return true;
}
-
},
resetSlide: function () {
this.offsetY = 0;
},
setZoomOriginFromEvent: function (event) {
- var cx = event.clientX || event.pageX;
- var cy = event.clientY || event.pageY;
+ var cx = event.pageX;
+ var cy = event.pageY;
var z = this.fluidbook.zoom.zoom;
var zrect = $("#z").get(0).getBoundingClientRect();
- var ox = cx - zrect.left;
- var oy = cy - zrect.top;
+ // focus point in non zoomed coordinates
+ var ox = cx - zrect.left / z;
+ var oy = cy - zrect.top / z;
+
+ ox = ox / this.fluidbook.resize.ww;
+ oy = oy / this.fluidbook.resize.hh;
- ox = (ox / (this.fluidbook.resize.ww * z));
- oy = (oy / (this.fluidbook.resize.hh * z));
+ // touch pos in % of screen
+ var tx = cx / this.fluidbook.resize.ww;
+ var ty = cy / this.fluidbook.resize.hh;
this.fluidbook.zoom.setOrigin(
(ox * 100) + '%',
zoom = 1;
}
- console.log(end);
if (end) {
- console.log(direction + ' || ' + zoom);
-
if (direction == 1) {
if (zoom < 1.5) {
zoom = 1.5;
this.setTransition(true);
}
}
-
- console.log(' === ' + zoom + ' (' + this.zoom + ')');
-
}
if (this.zoom == zoom) {