| 43925 | } |
| 43926 | |
| 43927 | function changeX(list, isDownList, cx, cy, r, dir) { |
| 43928 | var lastDeltaX = dir > 0 |
| 43929 | ? isDownList // right-side |
| 43930 | ? Number.MAX_VALUE // down |
| 43931 | : 0 // up |
| 43932 | : isDownList // left-side |
| 43933 | ? Number.MAX_VALUE // down |
| 43934 | : 0; // up |
| 43935 | |
| 43936 | for (var i = 0, l = list.length; i < l; i++) { |
| 43937 | if (list[i].labelAlignTo !== 'none') { |
| 43938 | continue; |
| 43939 | } |
| 43940 | |
| 43941 | var deltaY = Math.abs(list[i].y - cy); |
| 43942 | var length = list[i].len; |
| 43943 | var length2 = list[i].len2; |
| 43944 | var deltaX = (deltaY < r + length) |
| 43945 | ? Math.sqrt( |
| 43946 | (r + length + length2) * (r + length + length2) |
| 43947 | - deltaY * deltaY |
| 43948 | ) |
| 43949 | : Math.abs(list[i].x - cx); |
| 43950 | if (isDownList && deltaX >= lastDeltaX) { |
| 43951 | // right-down, left-down |
| 43952 | deltaX = lastDeltaX - 10; |
| 43953 | } |
| 43954 | if (!isDownList && deltaX <= lastDeltaX) { |
| 43955 | // right-up, left-up |
| 43956 | deltaX = lastDeltaX + 10; |
| 43957 | } |
| 43958 | |
| 43959 | list[i].x = cx + deltaX * dir; |
| 43960 | lastDeltaX = deltaX; |
| 43961 | } |
| 43962 | } |
| 43963 | |
| 43964 | var lastY = 0; |
| 43965 | var delta; |