Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Draw the upward riser arrow just a short ways, not to the top of screen, for nodes whose next child is off-screen. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | short-offscreen-risers |
Files: | files | file ages | folders |
SHA1: |
70ba2951f2802a2f76691bb9f04ffddc |
User & Date: | drh 2016-03-18 14:35:16.888 |
Context
2016-03-19
| ||
00:55 | Update the built-in SQLite to include the "PRAGMA integrity_check" fix. ... (check-in: 9245076e user: drh tags: short-offscreen-risers) | |
2016-03-18
| ||
14:35 | Draw the upward riser arrow just a short ways, not to the top of screen, for nodes whose next child is off-screen. ... (check-in: 70ba2951 user: drh tags: short-offscreen-risers) | |
14:10 | Fix a case in the graph renderer where a non-leaf node whose immediate child is not on screen did now show the arrow going straight up to the top of the page. ... (check-in: da4a3b4f user: drh tags: trunk) | |
Changes
Changes to src/graph.c.
︙ | ︙ | |||
325 326 327 328 329 330 331 | while( p->mxRail<GR_MAX_RAIL && pRow->mergeDown>(BIT(p->mxRail+1)-1) ){ p->mxRail++; } } } /* | > > | | > | | 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 | while( p->mxRail<GR_MAX_RAIL && pRow->mergeDown>(BIT(p->mxRail+1)-1) ){ p->mxRail++; } } } /* ** pRow has direct children, but they are all off-screen and not ** shown on the current graph. Therefore, draw an arrow up from ** pRow but terminate it in empty space. */ static void riserToOffScreenChild(GraphRow *pRow){ u64 mask = BIT(pRow->iRail); pRow->aiRiser[pRow->iRail] = 0; int n = 0; while( pRow && (n++)<3 ){ pRow->railInUse |= mask; pRow = pRow->pPrev; } } /* |
︙ | ︙ | |||
475 476 477 478 479 480 481 | int parentRid; if( pRow->iRail>=0 ){ if( pRow->pChild==0 && !pRow->timeWarp ){ if( omitDescenders || pRow->isLeaf ){ /* no-op */ }else{ | | | 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 | int parentRid; if( pRow->iRail>=0 ){ if( pRow->pChild==0 && !pRow->timeWarp ){ if( omitDescenders || pRow->isLeaf ){ /* no-op */ }else{ riserToOffScreenChild(pRow); } } continue; } if( pRow->isDup ){ continue; }else{ |
︙ | ︙ | |||
518 519 520 521 522 523 524 | } } mask = BIT(pRow->iRail); pRow->railInUse |= mask; if( pRow->pChild ){ assignChildrenToRail(pRow); }else if( !pRow->isLeaf ){ | | | 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 | } } mask = BIT(pRow->iRail); pRow->railInUse |= mask; if( pRow->pChild ){ assignChildrenToRail(pRow); }else if( !pRow->isLeaf ){ riserToOffScreenChild(pRow); } if( pParent ){ for(pLoop=pParent->pPrev; pLoop && pLoop!=pRow; pLoop=pLoop->pPrev){ pLoop->railInUse |= mask; } } } |
︙ | ︙ |
Changes to src/timeline.c.
︙ | ︙ | |||
899 900 901 902 903 904 905 | @ if( p.mi.length ) cls += " merge"; @ if( p.f&1 ) cls += " leaf"; @ var n = drawBox(cls,p.bg,p.x,p.y); @ n.id = "tln"+p.id; @ n.onclick = clickOnNode; @ n.style.zIndex = 10; if( !omitDescenders ){ | | | 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 | @ if( p.mi.length ) cls += " merge"; @ if( p.f&1 ) cls += " leaf"; @ var n = drawBox(cls,p.bg,p.x,p.y); @ n.id = "tln"+p.id; @ n.onclick = clickOnNode; @ n.style.zIndex = 10; if( !omitDescenders ){ @ if( p.u==0 ) drawUpArrow(p,{x: p.x, y: p.y-40},p.fg); @ if( p.d ) drawUpArrow({x: p.x, y: btm-node.h/2},p,p.fg); } @ if( p.mo>=0 ){ @ var x0 = p.x + node.w/2; @ var x1 = p.mo*railPitch + node.w/2; @ var u = rowinfo[p.mu-1]; @ var y1 = miLineY(u); |
︙ | ︙ |