This commit is contained in:
Mike Bostock 2013-06-30 09:53:33 -07:00
Родитель 822e0af79a
Коммит 83c8824197
3 изменённых файлов: 22 добавлений и 8 удалений

12
d3.js поставляемый
Просмотреть файл

@ -1127,7 +1127,7 @@ d3 = function() {
return d3.rebind(drag, event, "on");
};
d3.behavior.zoom = function() {
var translate = [ 0, 0 ], translate0, scale = 1, distance0, scale0, scaleExtent = d3_behavior_zoomInfinity, event = d3_eventDispatch(zoom, "zoom"), x0, x1, y0, y1, touchtime;
var translate = [ 0, 0 ], translate0, scale = 1, distance0, scale0, scaleExtent = d3_behavior_zoomInfinity, center, event = d3_eventDispatch(zoom, "zoom"), x0, x1, y0, y1, touchtime;
function zoom() {
this.on("mousedown.zoom", mousedown).on("mousemove.zoom", mousemove).on(d3_behavior_zoomWheel + ".zoom", mousewheel).on("dblclick.zoom", dblclick).on("touchstart.zoom", touchstart).on("touchmove.zoom", touchmove).on("touchend.zoom", touchstart);
}
@ -1148,6 +1148,11 @@ d3 = function() {
scaleExtent = x == null ? d3_behavior_zoomInfinity : x.map(Number);
return zoom;
};
zoom.center = function(_) {
if (!arguments.length) return center;
center = _ && _.map(Number);
return zoom;
};
zoom.x = function(z) {
if (!arguments.length) return x1;
x1 = z;
@ -1208,9 +1213,10 @@ d3 = function() {
}
}
function mousewheel() {
if (!translate0) translate0 = location(d3.mouse(this));
var point = center || d3.mouse(this);
if (!translate0) translate0 = location(point);
scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * scale);
translateTo(d3.mouse(this), translate0);
translateTo(point, translate0);
dispatch(event.of(this, arguments));
}
function mousemove() {

6
d3.min.js поставляемый

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -14,6 +14,7 @@ d3.behavior.zoom = function() {
distance0, // distance² between initial touches
scale0, // scale when we started touching
scaleExtent = d3_behavior_zoomInfinity,
center, // desired position of translate0 after zooming
event = d3_eventDispatch(zoom, "zoom"),
x0,
x1,
@ -51,6 +52,12 @@ d3.behavior.zoom = function() {
return zoom;
};
zoom.center = function(_) {
if (!arguments.length) return center;
center = _ && _.map(Number);
return zoom;
};
zoom.x = function(z) {
if (!arguments.length) return x1;
x1 = z;
@ -120,9 +127,10 @@ d3.behavior.zoom = function() {
}
function mousewheel() {
if (!translate0) translate0 = location(d3.mouse(this));
var point = center || d3.mouse(this);
if (!translate0) translate0 = location(point);
scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * scale);
translateTo(d3.mouse(this), translate0);
translateTo(point, translate0);
dispatch(event.of(this, arguments));
}