Skip to content

Commit 5ea3de2

Browse files
committed
Save a few bytes.
1 parent a83d89d commit 5ea3de2

3 files changed

Lines changed: 62 additions & 55 deletions

File tree

d3.js

Lines changed: 35 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1176,30 +1176,33 @@ d3 = function() {
11761176
};
11771177
d3.behavior.zoom = function() {
11781178
var view = {
1179-
s: 1,
1180-
t: [ 0, 0 ]
1179+
x: 0,
1180+
y: 0,
1181+
k: 1
11811182
}, translate0, center, size = [ 960, 500 ], scaleExtent = d3_behavior_zoomInfinity, mousedown = "mousedown.zoom", mousemove = "mousemove.zoom", mouseup = "mouseup.zoom", mousewheelTimer, touchstart = "touchstart.zoom", touchmove = "touchmove.zoom", touchend = "touchend.zoom", touchtime, event = d3_eventDispatch(zoom, "zoomstart", "zoom", "zoomend"), x0, x1, y0, y1;
11821183
function zoom(g) {
11831184
g.on(mousedown, mousedowned).on(d3_behavior_zoomWheel + ".zoom", mousewheeled).on(mousemove, mousewheelreset).on("dblclick.zoom", dblclicked).on(touchstart, touchstarted);
11841185
}
11851186
zoom.event = function(g) {
11861187
g.each(function() {
11871188
var event_ = event.of(this, arguments), view1 = view, view0 = this.__chart__ || {
1188-
s: 1,
1189-
t: [ 0, 0 ]
1189+
x: 0,
1190+
y: 0,
1191+
k: 1
11901192
};
11911193
this.__chart__ = view;
11921194
if (d3_transitionInheritId) {
11931195
d3.select(this).transition().each("start.zoom", function() {
11941196
view = view0;
11951197
zoomstarted(event_);
11961198
}).tween("zoom:zoom", function() {
1197-
var dx = size[0], dy = size[1], cx = dx / 2, cy = dy / 2, i = d3.interpolateZoom([ (cx - view.t[0]) / view.s, (cy - view.t[1]) / view.s, dx / view.s ], [ (cx - view1.t[0]) / view1.s, (cy - view1.t[1]) / view1.s, dx / view1.s ]);
1199+
var dx = size[0], dy = size[1], cx = dx / 2, cy = dy / 2, i = d3.interpolateZoom([ (cx - view.x) / view.k, (cy - view.y) / view.k, dx / view.k ], [ (cx - view1.x) / view1.k, (cy - view1.y) / view1.k, dx / view1.k ]);
11981200
return function(t) {
11991201
var l = i(t), k = dx / l[2];
12001202
this.__chart__ = view = {
1201-
s: k,
1202-
t: [ cx - l[0] * k, cy - l[1] * k ]
1203+
x: cx - l[0] * k,
1204+
y: cy - l[1] * k,
1205+
k: k
12031206
};
12041207
zoomed(event_);
12051208
};
@@ -1216,17 +1219,19 @@ d3 = function() {
12161219
zoom.translate = function(_) {
12171220
if (!arguments.length) return view.t;
12181221
view = {
1219-
s: view.s,
1220-
t: [ +_[0], +_[1] ]
1222+
x: +_[0],
1223+
y: +_[1],
1224+
k: view.k
12211225
};
12221226
rescale();
12231227
return zoom;
12241228
};
12251229
zoom.scale = function(_) {
1226-
if (!arguments.length) return view.s;
1230+
if (!arguments.length) return view.k;
12271231
view = {
1228-
s: +_,
1229-
t: view.t.slice()
1232+
x: view.x,
1233+
y: view.y,
1234+
k: +_
12301235
};
12311236
rescale();
12321237
return zoom;
@@ -1251,8 +1256,9 @@ d3 = function() {
12511256
x1 = z;
12521257
x0 = z.copy();
12531258
view = {
1254-
s: 1,
1255-
t: [ 0, 0 ]
1259+
x: 0,
1260+
y: 0,
1261+
k: 1
12561262
};
12571263
return zoom;
12581264
};
@@ -1261,31 +1267,32 @@ d3 = function() {
12611267
y1 = z;
12621268
y0 = z.copy();
12631269
view = {
1264-
s: 1,
1265-
t: [ 0, 0 ]
1270+
x: 0,
1271+
y: 0,
1272+
k: 1
12661273
};
12671274
return zoom;
12681275
};
12691276
function location(p) {
1270-
return [ (p[0] - view.t[0]) / view.s, (p[1] - view.t[1]) / view.s ];
1277+
return [ (p[0] - view.x) / view.k, (p[1] - view.y) / view.k ];
12711278
}
12721279
function point(l) {
1273-
return [ l[0] * view.s + view.t[0], l[1] * view.s + view.t[1] ];
1280+
return [ l[0] * view.k + view.x, l[1] * view.k + view.y ];
12741281
}
12751282
function scaleTo(s) {
1276-
view.s = Math.max(scaleExtent[0], Math.min(scaleExtent[1], s));
1283+
view.k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], s));
12771284
}
12781285
function translateTo(p, l) {
12791286
l = point(l);
1280-
view.t[0] += p[0] - l[0];
1281-
view.t[1] += p[1] - l[1];
1287+
view.x += p[0] - l[0];
1288+
view.y += p[1] - l[1];
12821289
}
12831290
function rescale() {
12841291
if (x1) x1.domain(x0.range().map(function(x) {
1285-
return (x - view.t[0]) / view.s;
1292+
return (x - view.x) / view.k;
12861293
}).map(x0.invert));
12871294
if (y1) y1.domain(y0.range().map(function(y) {
1288-
return (y - view.t[1]) / view.s;
1295+
return (y - view.y) / view.k;
12891296
}).map(y0.invert));
12901297
}
12911298
function zoomstarted(event) {
@@ -1297,7 +1304,7 @@ d3 = function() {
12971304
rescale();
12981305
event({
12991306
type: "zoom",
1300-
scale: view.s,
1307+
scale: view.k,
13011308
translate: view.t
13021309
});
13031310
}
@@ -1328,7 +1335,7 @@ d3 = function() {
13281335
zoomstarted(event_);
13291336
function relocate() {
13301337
var touches = d3.touches(target);
1331-
scale0 = view.s;
1338+
scale0 = view.k;
13321339
locations0 = {};
13331340
touches.forEach(function(t) {
13341341
locations0[t.identifier] = location(t);
@@ -1340,7 +1347,7 @@ d3 = function() {
13401347
if (touches.length === 1) {
13411348
if (now - touchtime < 500) {
13421349
var p = touches[0], l = locations0[p.identifier];
1343-
scaleTo(view.s * 2);
1350+
scaleTo(view.k * 2);
13441351
translateTo(p, l);
13451352
d3_eventPreventDefault();
13461353
zoomed(event_);
@@ -1389,15 +1396,15 @@ d3 = function() {
13891396
d3_eventPreventDefault();
13901397
var point = center || d3.mouse(this);
13911398
if (!translate0) translate0 = location(point);
1392-
scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * view.s);
1399+
scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * view.k);
13931400
translateTo(point, translate0);
13941401
zoomed(event_);
13951402
}
13961403
function mousewheelreset() {
13971404
translate0 = null;
13981405
}
13991406
function dblclicked() {
1400-
var event_ = event.of(this, arguments), p = d3.mouse(this), l = location(p), k = Math.log(view.s) / Math.LN2;
1407+
var event_ = event.of(this, arguments), p = d3.mouse(this), l = location(p), k = Math.log(view.k) / Math.LN2;
14011408
zoomstarted(event_);
14021409
scaleTo(Math.pow(2, d3.event.shiftKey ? Math.ceil(k) - 1 : Math.floor(k) + 1));
14031410
translateTo(p, l);

0 commit comments

Comments
 (0)