Fossil

Diff
Login

Differences From Artifact [65fbeb1a16]:

To Artifact [a16d5e61b6]:


242
243
244
245
246
247
248

249
250
251
252
253


254
255
256
257

258
259
260
261
262
263
264
242
243
244
245
246
247
248
249
250
251
252


253
254
255
256
257

258
259
260
261
262
263
264
265







+



-
-
+
+



-
+







      if( p.hasOwnProperty('d') ) drawUpArrow({x: p.x, y: btm-node.h/2},p,p.fg);
    }
    if( p.hasOwnProperty('mo') ){
      var x0 = p.x + node.w/2;
      var x1 = p.mo*railPitch + node.w/2;
      var u = tx.rowinfo[p.mu-tx.iTopRow];
      var y1 = miLineY(u);
      var drawMethod = (p.f&2) ? drawCherrypickLine : drawMergeLine;
      if( p.u<0 || p.mo!=p.r ){
        x1 += mergeLines[p.mo] = -mLine.w/2;
        var y0 = p.y+2;
        if( p.r!=p.mo ) drawMergeLine(x0,y0,x1+(x0<x1 ? mLine.w : 0),null);
        drawMergeLine(x1,y0+mLine.w,null,y1);
        if( p.r!=p.mo ) drawMethod(x0,y0,x1+(x0<x1 ? mLine.w : 0),null);
        drawMethod(x1,y0+mLine.w,null,y1);
      }else if( mergeOffset ){
        mergeLines[p.mo] = u.r<p.r ? -mergeOffset-mLine.w : mergeOffset;
        x1 += mergeLines[p.mo];
        drawMergeLine(x1,p.y+node.h/2,null,y1);
        drawMethod(x1,p.y+node.h/2,null,y1);
      }else{
        delete mergeLines[p.mo];
      }
    }
    if( p.hasOwnProperty('au') ){
      for( var i=0; i<p.au.length; i+=2 ){
        var rail = p.au[i];
300
301
302
303
304
305
306
307

308
309
310
311
312
313
314
301
302
303
304
305
306
307

308
309
310
311
312
313
314
315







-
+







    if( p.hasOwnProperty('cpi') ){
      for( var i=0; i<p.cpi.length; i++ ){
        var rail = p.cpi[i];
        if( rail<0 ){
          rail = -rail;
          mergeLines[rail] = -mLine.w/2;
          var x = rail*railPitch + (node.w-mLine.w)/2;
          drawMergeLine(x,miLineY(p),null,btm);
          drawCherrypickLine(x,miLineY(p),null,btm);
        }
        drawMergeArrow(p,rail,1);
      }
    }
  }
  var mergeLines;
  function renderGraph(){