| | @@ -362,13 +362,13 @@ |
| 362 | 362 | ** bg: The background color for this row |
| 363 | 363 | ** r: The "rail" that the node for this row sits on. The left-most |
| 364 | 364 | ** rail is 0 and the number increases to the right. |
| 365 | 365 | ** d: True if there is a "descender" - an arrow coming from the bottom |
| 366 | 366 | ** of the page straight up to this node. |
| 367 | | - ** mo: "merge-out". If non-negative, this is a rail number on which |
| 367 | + ** mo: "merge-out". If non-zero, this is one more than the rail on which |
| 368 | 368 | ** a merge arrow travels upward. The merge arrow is drawn upwards |
| 369 | | - ** to the row identified by mu:. This value is negative then |
| 369 | + ** to the row identified by mu:. If this value is zero then |
| 370 | 370 | ** node has no merge children and no merge-out line is drawn. |
| 371 | 371 | ** mu: The id of the row which is the top of the merge-out arrow. |
| 372 | 372 | ** md: A bitmask of rails on which merge-arrow descenders should be |
| 373 | 373 | ** drawn from this row to the bottom of the page. The least |
| 374 | 374 | ** significant bit (1) corresponds to rail 0. The 2-bit corresponds |
| | @@ -389,11 +389,11 @@ |
| 389 | 389 | cgi_printf("{id:%d,bg:\"%s\",r:%d,d:%d,mo:%d,mu:%d,md:%u,u:%d,au:", |
| 390 | 390 | pRow->idx, |
| 391 | 391 | pRow->zBgClr, |
| 392 | 392 | pRow->iRail, |
| 393 | 393 | pRow->bDescender, |
| 394 | | - pRow->mergeOut, |
| 394 | + pRow->mergeOut+1, |
| 395 | 395 | pRow->mergeUpto, |
| 396 | 396 | pRow->mergeDown, |
| 397 | 397 | pRow->aiRiser[pRow->iRail] |
| 398 | 398 | ); |
| 399 | 399 | cSep = '['; |
| | @@ -489,12 +489,12 @@ |
| 489 | 489 | @ drawUpArrow(p.x, u.y+6, p.y-5); |
| 490 | 490 | @ } |
| 491 | 491 | @ if( p.d ){ |
| 492 | 492 | @ drawUpArrow(p.x, p.y+6, btm); |
| 493 | 493 | @ } |
| 494 | | - @ if( p.mo>=0 ){ |
| 495 | | - @ var x1 = p.mo*20 + left; |
| 494 | + @ if( p.mo>0 ){ |
| 495 | + @ var x1 = (p.mo-1)*20 + left; |
| 496 | 496 | @ var y1 = p.y-3; |
| 497 | 497 | @ var x0 = x1>p.x ? p.x+7 : p.x-6; |
| 498 | 498 | @ var u = rowinfo[p.mu-1]; |
| 499 | 499 | @ var y0 = u.y+5; |
| 500 | 500 | @ if( x1==p.x ){ |
| 501 | 501 | |