Fossil: Check-in [aa43709aa9]

Fossil SCM

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

Overview
Comment:Improvements to rail selection in the graph layout.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | graph-improvements
Files: files | file ages | folders
SHA3-256:aa43709aa9f8cb78c7902e4e69c645df15eab22167d3d5ef84f33dd10b26fd00
User & Date: drh 2019-05-16 21:42:29
Context
2019-05-16
22:14
Connect the horizontal merge arrow all the way over to vertical rises toward the top for nodes with u==0. check-in: d76bc40569 user: drh tags: graph-improvements
21:42
Improvements to rail selection in the graph layout. check-in: aa43709aa9 user: drh tags: graph-improvements
19:00
Do not draw risers and descenders all the way to the top and bottom of the graph if that is not necessary. check-in: 9978f8120d user: drh tags: graph-improvements
Changes

Changes to src/graph.c.

604
605
606
607
608
609
610
611

612
613
614
615
616
617
618
        if( p->mxRail>=GR_MAX_RAIL ) return;
        pRow->railInUse = BIT(pRow->iRail);
        continue;
      }
      if( pParent->idx>pRow->idx ){
        /* Common case:  Child occurs after parent and is above the
        ** parent in the timeline */
        pRow->iRail = findFreeRail(p, 0, pParent->idx, pParent->iRail);

        if( p->mxRail>=GR_MAX_RAIL ) return;
        pParent->aiRiser[pRow->iRail] = pRow->idx;
      }else{
        /* Timewarp case:  Child occurs earlier in time than parent and
        ** appears below the parent in the timeline. */
        int iDownRail = ++p->mxRail;
        if( iDownRail<1 ) iDownRail = ++p->mxRail;







|
>







604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
        if( p->mxRail>=GR_MAX_RAIL ) return;
        pRow->railInUse = BIT(pRow->iRail);
        continue;
      }
      if( pParent->idx>pRow->idx ){
        /* Common case:  Child occurs after parent and is above the
        ** parent in the timeline */
        pRow->iRail = findFreeRail(p, pRow->idxTop, pParent->idx,
                                   pParent->iRail);
        if( p->mxRail>=GR_MAX_RAIL ) return;
        pParent->aiRiser[pRow->iRail] = pRow->idx;
      }else{
        /* Timewarp case:  Child occurs earlier in time than parent and
        ** appears below the parent in the timeline. */
        int iDownRail = ++p->mxRail;
        if( iDownRail<1 ) iDownRail = ++p->mxRail;