Fossil SCM

Check the graph for resize events every second and rerender the graph if a resize has occurred. This fixes display problems on Safari and also keeps the graph consistent with resized browser windows.

drh 2010-02-08 18:08 trunk
Commit f51bd59613cf9a2b48ba0abc926b7cacbb461d0b
1 file changed +16 -1
+16 -1
--- src/timeline.c
+++ src/timeline.c
@@ -495,10 +495,15 @@
495495
@ drawThinArrow(y0,mx,p.x-5);
496496
@ }
497497
@ }
498498
@ }
499499
@ function renderGraph(){
500
+ @ var canvasDiv = document.getElementById("canvas");
501
+ @ for(var i=canvasDiv.childNodes.length-1; i>=0; i--){
502
+ @ var c = canvasDiv.childNodes[i];
503
+ @ delete canvasDiv.removeChild(c);
504
+ @ }
500505
@ var canvasY = absoluteY("canvas");
501506
@ var left = absoluteX(rowinfo[0].id) - absoluteX("canvas") + 15;
502507
@ for(var i in rowinfo){
503508
@ rowinfo[i].y = absoluteY(rowinfo[i].id) + 10 - canvasY;
504509
@ rowinfo[i].x = left + rowinfo[i].r*20;
@@ -506,11 +511,21 @@
506511
@ var btm = rowinfo[rowinfo.length-1].y + 20;
507512
@ for(var i in rowinfo){
508513
@ drawNode(rowinfo[i], left, btm);
509514
@ }
510515
@ }
511
- @ renderGraph();
516
+ @ var lastId = rowinfo[rowinfo.length-1].id;
517
+ @ var lastY = 0;
518
+ @ function checkHeight(){
519
+ @ var h = absoluteY(lastId);
520
+ @ if( h!=lastY ){
521
+ @ renderGraph();
522
+ @ lastY = h;
523
+ @ }
524
+ @ setTimeout("checkHeight();", 1000);
525
+ @ }
526
+ @ checkHeight();
512527
@ </script>
513528
}
514529
}
515530
516531
/*
517532
--- src/timeline.c
+++ src/timeline.c
@@ -495,10 +495,15 @@
495 @ drawThinArrow(y0,mx,p.x-5);
496 @ }
497 @ }
498 @ }
499 @ function renderGraph(){
 
 
 
 
 
500 @ var canvasY = absoluteY("canvas");
501 @ var left = absoluteX(rowinfo[0].id) - absoluteX("canvas") + 15;
502 @ for(var i in rowinfo){
503 @ rowinfo[i].y = absoluteY(rowinfo[i].id) + 10 - canvasY;
504 @ rowinfo[i].x = left + rowinfo[i].r*20;
@@ -506,11 +511,21 @@
506 @ var btm = rowinfo[rowinfo.length-1].y + 20;
507 @ for(var i in rowinfo){
508 @ drawNode(rowinfo[i], left, btm);
509 @ }
510 @ }
511 @ renderGraph();
 
 
 
 
 
 
 
 
 
 
512 @ </script>
513 }
514 }
515
516 /*
517
--- src/timeline.c
+++ src/timeline.c
@@ -495,10 +495,15 @@
495 @ drawThinArrow(y0,mx,p.x-5);
496 @ }
497 @ }
498 @ }
499 @ function renderGraph(){
500 @ var canvasDiv = document.getElementById("canvas");
501 @ for(var i=canvasDiv.childNodes.length-1; i>=0; i--){
502 @ var c = canvasDiv.childNodes[i];
503 @ delete canvasDiv.removeChild(c);
504 @ }
505 @ var canvasY = absoluteY("canvas");
506 @ var left = absoluteX(rowinfo[0].id) - absoluteX("canvas") + 15;
507 @ for(var i in rowinfo){
508 @ rowinfo[i].y = absoluteY(rowinfo[i].id) + 10 - canvasY;
509 @ rowinfo[i].x = left + rowinfo[i].r*20;
@@ -506,11 +511,21 @@
511 @ var btm = rowinfo[rowinfo.length-1].y + 20;
512 @ for(var i in rowinfo){
513 @ drawNode(rowinfo[i], left, btm);
514 @ }
515 @ }
516 @ var lastId = rowinfo[rowinfo.length-1].id;
517 @ var lastY = 0;
518 @ function checkHeight(){
519 @ var h = absoluteY(lastId);
520 @ if( h!=lastY ){
521 @ renderGraph();
522 @ lastY = h;
523 @ }
524 @ setTimeout("checkHeight();", 1000);
525 @ }
526 @ checkHeight();
527 @ </script>
528 }
529 }
530
531 /*
532

Keyboard Shortcuts

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