* NOTICE: It depends on `viewCoordSysUpdateRawTrans`.
(viewInner: ViewInner)
| 508 | * NOTICE: It depends on `viewCoordSysUpdateRawTrans`. |
| 509 | */ |
| 510 | function viewCoordSysUpdateRoamTrans(viewInner: ViewInner): void { |
| 511 | const viewRectCenter = viewCoordSysGetViewRectCenter(viewInner); |
| 512 | const roamViewCenter = parseCenterOption(tmpCenterURT, viewInner, viewInner.centerOption) |
| 513 | ? vectorApplyTransform(tmpCenterURT, tmpCenterURT, viewInner.mtRaw) |
| 514 | : viewRectCenter; |
| 515 | |
| 516 | const zoom = viewInner.zoom; |
| 517 | const roamTrans = viewInner.trans[VIEW_COORD_SYS_TRANS_ROAM]; |
| 518 | roamTrans.x = viewRectCenter[0] - zoom * roamViewCenter[0]; |
| 519 | roamTrans.y = viewRectCenter[1] - zoom * roamViewCenter[1]; |
| 520 | roamTrans.scaleX = roamTrans.scaleY = zoom; |
| 521 | // [VIEW_COORD_SYS_APPLY_ROAM_CENTER_AND_ZOOM] |
| 522 | // Ordinarily, the definition is: |
| 523 | // roamTrans.originX = roamViewCenter[0]; |
| 524 | // roamTrans.originY = roamViewCenter[1]; |
| 525 | // roamTrans.x = viewRectCenter[0] - roamViewCenter[0]; |
| 526 | // roamTrans.y = viewRectCenter[1] - roamViewCenter[1]; |
| 527 | // roamTrans.scaleX = roamTrans.scaleY = zoom; |
| 528 | // But `el.originX`/`originY` should not be set. |
| 529 | // (see VIEW_COORD_SYS_ANIMATION_PROPS_CONSTRAINT for the reason), |
| 530 | // so we use the above formula instead. |
| 531 | } |
| 532 | const tmpCenterURT: number[] = []; |
| 533 | |
| 534 | /** |
no test coverage detected
searching dependent graphs…