Fossil SCM

Improved merge risers for nodes with risers pointing to the top of screen.

drh 2019-05-16 22:53 graph-improvements
Commit aa854c87ae259ab4f1a39e1f89d59dcb1016b9bd490dbefe82cb50d51a4982aa
1 file changed +7 -2
+7 -2
--- src/graph.js
+++ src/graph.js
@@ -278,11 +278,16 @@
278278
var x0 = p.x + node.w/2;
279279
var x1 = p.mo*railPitch + node.w/2;
280280
var u = tx.rowinfo[p.mu-tx.iTopRow];
281281
var y1 = miLineY(u);
282282
if( p.u<0 || p.mo!=p.r ){
283
- x1 += mergeLines[p.mo] = -mLine.w/2;
283
+ if( p.u==0 && p.mo==p.r ){
284
+ mergeLines[p.mo] = u.r<p.r ? -mergeOffset-mLine.w : mergeOffset;
285
+ }else{
286
+ mergeLines[p.mo] = -mLine.w/2;
287
+ }
288
+ x1 += mergeLines[p.mo]
284289
var y0 = p.y+2;
285290
if( p.mu==p.id ){
286291
drawCherrypickLine(x0,y0,x1+(x0<x1 ? mLine.w : 0),null);
287292
y1 = y0;
288293
}else{
@@ -292,11 +297,11 @@
292297
if( p.hasOwnProperty('cu') ){
293298
var u2 = tx.rowinfo[p.cu-tx.iTopRow];
294299
var y2 = miLineY(u2);
295300
drawCherrypickLine(x1,y1,null,y2);
296301
}
297
- }else if( mergeOffset && p.u>0 ){
302
+ }else if( mergeOffset ){
298303
mergeLines[p.mo] = u.r<p.r ? -mergeOffset-mLine.w : mergeOffset;
299304
x1 += mergeLines[p.mo];
300305
if( p.mo<p.id ){
301306
drawMergeLine(x1,p.y+node.h/2,null,y1);
302307
}
303308
--- src/graph.js
+++ src/graph.js
@@ -278,11 +278,16 @@
278 var x0 = p.x + node.w/2;
279 var x1 = p.mo*railPitch + node.w/2;
280 var u = tx.rowinfo[p.mu-tx.iTopRow];
281 var y1 = miLineY(u);
282 if( p.u<0 || p.mo!=p.r ){
283 x1 += mergeLines[p.mo] = -mLine.w/2;
 
 
 
 
 
284 var y0 = p.y+2;
285 if( p.mu==p.id ){
286 drawCherrypickLine(x0,y0,x1+(x0<x1 ? mLine.w : 0),null);
287 y1 = y0;
288 }else{
@@ -292,11 +297,11 @@
292 if( p.hasOwnProperty('cu') ){
293 var u2 = tx.rowinfo[p.cu-tx.iTopRow];
294 var y2 = miLineY(u2);
295 drawCherrypickLine(x1,y1,null,y2);
296 }
297 }else if( mergeOffset && p.u>0 ){
298 mergeLines[p.mo] = u.r<p.r ? -mergeOffset-mLine.w : mergeOffset;
299 x1 += mergeLines[p.mo];
300 if( p.mo<p.id ){
301 drawMergeLine(x1,p.y+node.h/2,null,y1);
302 }
303
--- src/graph.js
+++ src/graph.js
@@ -278,11 +278,16 @@
278 var x0 = p.x + node.w/2;
279 var x1 = p.mo*railPitch + node.w/2;
280 var u = tx.rowinfo[p.mu-tx.iTopRow];
281 var y1 = miLineY(u);
282 if( p.u<0 || p.mo!=p.r ){
283 if( p.u==0 && p.mo==p.r ){
284 mergeLines[p.mo] = u.r<p.r ? -mergeOffset-mLine.w : mergeOffset;
285 }else{
286 mergeLines[p.mo] = -mLine.w/2;
287 }
288 x1 += mergeLines[p.mo]
289 var y0 = p.y+2;
290 if( p.mu==p.id ){
291 drawCherrypickLine(x0,y0,x1+(x0<x1 ? mLine.w : 0),null);
292 y1 = y0;
293 }else{
@@ -292,11 +297,11 @@
297 if( p.hasOwnProperty('cu') ){
298 var u2 = tx.rowinfo[p.cu-tx.iTopRow];
299 var y2 = miLineY(u2);
300 drawCherrypickLine(x1,y1,null,y2);
301 }
302 }else if( mergeOffset ){
303 mergeLines[p.mo] = u.r<p.r ? -mergeOffset-mLine.w : mergeOffset;
304 x1 += mergeLines[p.mo];
305 if( p.mo<p.id ){
306 drawMergeLine(x1,p.y+node.h/2,null,y1);
307 }
308

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button