Fossil SCM
Improved merge risers for nodes with risers pointing to the top of screen.
Commit
aa854c87ae259ab4f1a39e1f89d59dcb1016b9bd490dbefe82cb50d51a4982aa
Parent
34fd632e165727f…
1 file changed
+7
-2
+7
-2
| --- src/graph.js | ||
| +++ src/graph.js | ||
| @@ -278,11 +278,16 @@ | ||
| 278 | 278 | var x0 = p.x + node.w/2; |
| 279 | 279 | var x1 = p.mo*railPitch + node.w/2; |
| 280 | 280 | var u = tx.rowinfo[p.mu-tx.iTopRow]; |
| 281 | 281 | var y1 = miLineY(u); |
| 282 | 282 | if( p.u<0 || p.mo!=p.r ){ |
| 283 | - x1 += mergeLines[p.mo] = -mLine.w/2; | |
| 283 | + if( p.u==0 && p.mo==p.r ){ | |
| 284 | + mergeLines[p.mo] = u.r<p.r ? -mergeOffset-mLine.w : mergeOffset; | |
| 285 | + }else{ | |
| 286 | + mergeLines[p.mo] = -mLine.w/2; | |
| 287 | + } | |
| 288 | + x1 += mergeLines[p.mo] | |
| 284 | 289 | var y0 = p.y+2; |
| 285 | 290 | if( p.mu==p.id ){ |
| 286 | 291 | drawCherrypickLine(x0,y0,x1+(x0<x1 ? mLine.w : 0),null); |
| 287 | 292 | y1 = y0; |
| 288 | 293 | }else{ |
| @@ -292,11 +297,11 @@ | ||
| 292 | 297 | if( p.hasOwnProperty('cu') ){ |
| 293 | 298 | var u2 = tx.rowinfo[p.cu-tx.iTopRow]; |
| 294 | 299 | var y2 = miLineY(u2); |
| 295 | 300 | drawCherrypickLine(x1,y1,null,y2); |
| 296 | 301 | } |
| 297 | - }else if( mergeOffset && p.u>0 ){ | |
| 302 | + }else if( mergeOffset ){ | |
| 298 | 303 | mergeLines[p.mo] = u.r<p.r ? -mergeOffset-mLine.w : mergeOffset; |
| 299 | 304 | x1 += mergeLines[p.mo]; |
| 300 | 305 | if( p.mo<p.id ){ |
| 301 | 306 | drawMergeLine(x1,p.y+node.h/2,null,y1); |
| 302 | 307 | } |
| 303 | 308 |
| --- src/graph.js | |
| +++ src/graph.js | |
| @@ -278,11 +278,16 @@ | |
| 278 | var x0 = p.x + node.w/2; |
| 279 | var x1 = p.mo*railPitch + node.w/2; |
| 280 | var u = tx.rowinfo[p.mu-tx.iTopRow]; |
| 281 | var y1 = miLineY(u); |
| 282 | if( p.u<0 || p.mo!=p.r ){ |
| 283 | x1 += mergeLines[p.mo] = -mLine.w/2; |
| 284 | var y0 = p.y+2; |
| 285 | if( p.mu==p.id ){ |
| 286 | drawCherrypickLine(x0,y0,x1+(x0<x1 ? mLine.w : 0),null); |
| 287 | y1 = y0; |
| 288 | }else{ |
| @@ -292,11 +297,11 @@ | |
| 292 | if( p.hasOwnProperty('cu') ){ |
| 293 | var u2 = tx.rowinfo[p.cu-tx.iTopRow]; |
| 294 | var y2 = miLineY(u2); |
| 295 | drawCherrypickLine(x1,y1,null,y2); |
| 296 | } |
| 297 | }else if( mergeOffset && p.u>0 ){ |
| 298 | mergeLines[p.mo] = u.r<p.r ? -mergeOffset-mLine.w : mergeOffset; |
| 299 | x1 += mergeLines[p.mo]; |
| 300 | if( p.mo<p.id ){ |
| 301 | drawMergeLine(x1,p.y+node.h/2,null,y1); |
| 302 | } |
| 303 |
| --- src/graph.js | |
| +++ src/graph.js | |
| @@ -278,11 +278,16 @@ | |
| 278 | var x0 = p.x + node.w/2; |
| 279 | var x1 = p.mo*railPitch + node.w/2; |
| 280 | var u = tx.rowinfo[p.mu-tx.iTopRow]; |
| 281 | var y1 = miLineY(u); |
| 282 | if( p.u<0 || p.mo!=p.r ){ |
| 283 | if( p.u==0 && p.mo==p.r ){ |
| 284 | mergeLines[p.mo] = u.r<p.r ? -mergeOffset-mLine.w : mergeOffset; |
| 285 | }else{ |
| 286 | mergeLines[p.mo] = -mLine.w/2; |
| 287 | } |
| 288 | x1 += mergeLines[p.mo] |
| 289 | var y0 = p.y+2; |
| 290 | if( p.mu==p.id ){ |
| 291 | drawCherrypickLine(x0,y0,x1+(x0<x1 ? mLine.w : 0),null); |
| 292 | y1 = y0; |
| 293 | }else{ |
| @@ -292,11 +297,11 @@ | |
| 297 | if( p.hasOwnProperty('cu') ){ |
| 298 | var u2 = tx.rowinfo[p.cu-tx.iTopRow]; |
| 299 | var y2 = miLineY(u2); |
| 300 | drawCherrypickLine(x1,y1,null,y2); |
| 301 | } |
| 302 | }else if( mergeOffset ){ |
| 303 | mergeLines[p.mo] = u.r<p.r ? -mergeOffset-mLine.w : mergeOffset; |
| 304 | x1 += mergeLines[p.mo]; |
| 305 | if( p.mo<p.id ){ |
| 306 | drawMergeLine(x1,p.y+node.h/2,null,y1); |
| 307 | } |
| 308 |