(pt, onPathbar, refRect, size)
| 417 | }; |
| 418 | |
| 419 | var makeUpdateTextInterpolator = function(pt, onPathbar, refRect, size) { |
| 420 | var prev0 = getPrev(pt, onPathbar); |
| 421 | var prev = {}; |
| 422 | var origin = getOrigin(pt, onPathbar, refRect, size); |
| 423 | |
| 424 | Lib.extendFlat(prev, { |
| 425 | transform: toMoveInsideSlice({ |
| 426 | x0: origin.x0, |
| 427 | x1: origin.x1, |
| 428 | y0: origin.y0, |
| 429 | y1: origin.y1, |
| 430 | textBB: pt.textBB, |
| 431 | _text: pt._text |
| 432 | }, { |
| 433 | isHeader: helpers.isHeader(pt, trace) |
| 434 | }) |
| 435 | }); |
| 436 | |
| 437 | if(prev0) { |
| 438 | // if pt already on graph, this is easy |
| 439 | prev = prev0; |
| 440 | } else { |
| 441 | // for new pts: |
| 442 | if(pt.parent) { |
| 443 | Lib.extendFlat(prev, interpFromParent(pt, onPathbar)); |
| 444 | } |
| 445 | } |
| 446 | |
| 447 | var transform = pt.transform; |
| 448 | if(pt.x0 !== pt.x1 && pt.y0 !== pt.y1) { |
| 449 | recordMinTextSize(trace.type, transform, fullLayout); |
| 450 | } |
| 451 | |
| 452 | return interpolate(prev, { |
| 453 | transform: { |
| 454 | scale: transform.scale, |
| 455 | rotate: transform.rotate, |
| 456 | textX: transform.textX, |
| 457 | textY: transform.textY, |
| 458 | anchorX: transform.anchorX, |
| 459 | anchorY: transform.anchorY, |
| 460 | targetX: transform.targetX, |
| 461 | targetY: transform.targetY |
| 462 | } |
| 463 | }); |
| 464 | }; |
| 465 | |
| 466 | var handleSlicesExit = function(slices, onPathbar, refRect, size, pathSlice) { |
| 467 | var width = size[0]; |
no test coverage detected
searching dependent graphs…