Fossil

Check-in [6b56d890]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Graph layout: Reduce the top-margin requirement for a merge arrow that comes straight up out of the top of a leaf node.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 6b56d89058b8c63c1b55d29e6d9c70ed99e5ce21fbb4d52dd6da3f4e73edc796
User & Date: drh 2022-03-10 12:50:40
Context
2022-03-12
14:20
Update the built-in SQLite to the latest trunk version which includes all of the patches associated with version 3.38.1 plus additional performance enhancements. ... (check-in: b731e1f6 user: drh tags: trunk)
2022-03-10
12:50
Graph layout: Reduce the top-margin requirement for a merge arrow that comes straight up out of the top of a leaf node. ... (check-in: 6b56d890 user: drh tags: trunk)
12:35
Graph layout: Strive harder for merge arrows to come straight up out of the top of leaf nodes. ... (check-in: a3bfe425 user: drh tags: trunk)
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/graph.c.

396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
){
  int u;
  u64 mask;
  GraphRow *pLoop;

  if( pParent->mergeOut<0 ){
    u = pParent->aiRiser[pParent->iRail];
    if( u<0 && railIsClear(pParent->pPrev, pChild->idx-1, pParent->iRail) ){
      /* pParent is a leaf and the merge-line can be drawn straight up.*/
      pParent->mergeOut = pParent->iRail;
      mask = BIT(pParent->iRail);
      for(pLoop=pChild->pNext; pLoop && pLoop->rid!=pParent->rid;
           pLoop=pLoop->pNext){
        pLoop->railInUse |= mask;
      }







|







396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
){
  int u;
  u64 mask;
  GraphRow *pLoop;

  if( pParent->mergeOut<0 ){
    u = pParent->aiRiser[pParent->iRail];
    if( u<0 && railIsClear(pParent->pPrev, pChild->idx, pParent->iRail) ){
      /* pParent is a leaf and the merge-line can be drawn straight up.*/
      pParent->mergeOut = pParent->iRail;
      mask = BIT(pParent->iRail);
      for(pLoop=pChild->pNext; pLoop && pLoop->rid!=pParent->rid;
           pLoop=pLoop->pNext){
        pLoop->railInUse |= mask;
      }