Fossil SCM

Use two arguments to getComputedStyle() for compatibility with very old versions of Firefox. Allow setting graph node background colors using "#canvas{ background-color: COLOR; }".

drh 2013-08-16 00:47 trunk
Commit c06e296b4069e2792a4cfa3b7d2672266e0537fd
2 files changed +1 -1 +4 -2
+1 -1
--- src/graph.c
+++ src/graph.c
@@ -198,11 +198,11 @@
198198
pRow->zBranch = persistBranchName(p, zBranch);
199199
if( zUuid==0 ) zUuid = "";
200200
sqlite3_snprintf(sizeof(pRow->zUuid), pRow->zUuid, "%s", zUuid);
201201
pRow->isLeaf = isLeaf;
202202
memset(pRow->aiRiser, -1, sizeof(pRow->aiRiser));
203
- if( zBgClr==0 || zBgClr[0]==0 ) zBgClr = "white";
203
+ if( zBgClr==0 ) zBgClr = "";
204204
pRow->zBgClr = persistBranchName(p, zBgClr);
205205
memcpy(pRow->aParent, aParent, sizeof(aParent[0])*nParent);
206206
if( p->pFirst==0 ){
207207
p->pFirst = pRow;
208208
}else{
209209
--- src/graph.c
+++ src/graph.c
@@ -198,11 +198,11 @@
198 pRow->zBranch = persistBranchName(p, zBranch);
199 if( zUuid==0 ) zUuid = "";
200 sqlite3_snprintf(sizeof(pRow->zUuid), pRow->zUuid, "%s", zUuid);
201 pRow->isLeaf = isLeaf;
202 memset(pRow->aiRiser, -1, sizeof(pRow->aiRiser));
203 if( zBgClr==0 || zBgClr[0]==0 ) zBgClr = "white";
204 pRow->zBgClr = persistBranchName(p, zBgClr);
205 memcpy(pRow->aParent, aParent, sizeof(aParent[0])*nParent);
206 if( p->pFirst==0 ){
207 p->pFirst = pRow;
208 }else{
209
--- src/graph.c
+++ src/graph.c
@@ -198,11 +198,11 @@
198 pRow->zBranch = persistBranchName(p, zBranch);
199 if( zUuid==0 ) zUuid = "";
200 sqlite3_snprintf(sizeof(pRow->zUuid), pRow->zUuid, "%s", zUuid);
201 pRow->isLeaf = isLeaf;
202 memset(pRow->aiRiser, -1, sizeof(pRow->aiRiser));
203 if( zBgClr==0 ) zBgClr = "";
204 pRow->zBgClr = persistBranchName(p, zBgClr);
205 memcpy(pRow->aParent, aParent, sizeof(aParent[0])*nParent);
206 if( p->pFirst==0 ){
207 p->pFirst = pRow;
208 }else{
209
+4 -2
--- src/timeline.c
+++ src/timeline.c
@@ -649,12 +649,14 @@
649649
cgi_printf("],h:\"%s\"}%s", pRow->zUuid, pRow->pNext ? ",\n" : "];\n");
650650
}
651651
cgi_printf("var nrail = %d\n", pGraph->mxRail+1);
652652
graph_free(pGraph);
653653
@ var canvasDiv = gebi("canvas");
654
- @ var canvasStyle = window.getComputedStyle(canvasDiv);
654
+ @ var canvasStyle = window.getComputedStyle(canvasDiv,null);
655655
@ var lineColor = canvasStyle.getPropertyValue('color') || 'black';
656
+ @ var bgColor = canvasStyle.getPropertyValue('background-color') || 'white';
657
+ @ if( bgColor=='transparent' ) bgColor = 'white';
656658
@ var boxColor = lineColor;
657659
@ function drawBox(color,x0,y0,x1,y1){
658660
@ var n = document.createElement("div");
659661
@ if( x0>x1 ){ var t=x0; x0=x1; x1=t; }
660662
@ if( y0>y1 ){ var t=y0; y0=y1; y1=t; }
@@ -717,11 +719,11 @@
717719
@ function drawThinLine(x0,y0,x1,y1){
718720
@ drawBox(lineColor,x0,y0,x1,y1);
719721
@ }
720722
@ function drawNode(p, left, btm){
721723
@ drawBox(boxColor,p.x-5,p.y-5,p.x+6,p.y+6);
722
- @ drawBox(p.bg,p.x-4,p.y-4,p.x+5,p.y+5);
724
+ @ drawBox(p.bg||bgColor,p.x-4,p.y-4,p.x+5,p.y+5);
723725
@ if( p.u>0 ) drawUpArrow(p.x, rowinfo[p.u-1].y+6, p.y-5);
724726
@ if( p.f&1 ) drawBox(boxColor,p.x-1,p.y-1,p.x+2,p.y+2);
725727
if( !omitDescenders ){
726728
@ if( p.u==0 ) drawUpArrow(p.x, 0, p.y-5);
727729
@ if( p.d ) drawUpArrow(p.x, p.y+6, btm);
728730
--- src/timeline.c
+++ src/timeline.c
@@ -649,12 +649,14 @@
649 cgi_printf("],h:\"%s\"}%s", pRow->zUuid, pRow->pNext ? ",\n" : "];\n");
650 }
651 cgi_printf("var nrail = %d\n", pGraph->mxRail+1);
652 graph_free(pGraph);
653 @ var canvasDiv = gebi("canvas");
654 @ var canvasStyle = window.getComputedStyle(canvasDiv);
655 @ var lineColor = canvasStyle.getPropertyValue('color') || 'black';
 
 
656 @ var boxColor = lineColor;
657 @ function drawBox(color,x0,y0,x1,y1){
658 @ var n = document.createElement("div");
659 @ if( x0>x1 ){ var t=x0; x0=x1; x1=t; }
660 @ if( y0>y1 ){ var t=y0; y0=y1; y1=t; }
@@ -717,11 +719,11 @@
717 @ function drawThinLine(x0,y0,x1,y1){
718 @ drawBox(lineColor,x0,y0,x1,y1);
719 @ }
720 @ function drawNode(p, left, btm){
721 @ drawBox(boxColor,p.x-5,p.y-5,p.x+6,p.y+6);
722 @ drawBox(p.bg,p.x-4,p.y-4,p.x+5,p.y+5);
723 @ if( p.u>0 ) drawUpArrow(p.x, rowinfo[p.u-1].y+6, p.y-5);
724 @ if( p.f&1 ) drawBox(boxColor,p.x-1,p.y-1,p.x+2,p.y+2);
725 if( !omitDescenders ){
726 @ if( p.u==0 ) drawUpArrow(p.x, 0, p.y-5);
727 @ if( p.d ) drawUpArrow(p.x, p.y+6, btm);
728
--- src/timeline.c
+++ src/timeline.c
@@ -649,12 +649,14 @@
649 cgi_printf("],h:\"%s\"}%s", pRow->zUuid, pRow->pNext ? ",\n" : "];\n");
650 }
651 cgi_printf("var nrail = %d\n", pGraph->mxRail+1);
652 graph_free(pGraph);
653 @ var canvasDiv = gebi("canvas");
654 @ var canvasStyle = window.getComputedStyle(canvasDiv,null);
655 @ var lineColor = canvasStyle.getPropertyValue('color') || 'black';
656 @ var bgColor = canvasStyle.getPropertyValue('background-color') || 'white';
657 @ if( bgColor=='transparent' ) bgColor = 'white';
658 @ var boxColor = lineColor;
659 @ function drawBox(color,x0,y0,x1,y1){
660 @ var n = document.createElement("div");
661 @ if( x0>x1 ){ var t=x0; x0=x1; x1=t; }
662 @ if( y0>y1 ){ var t=y0; y0=y1; y1=t; }
@@ -717,11 +719,11 @@
719 @ function drawThinLine(x0,y0,x1,y1){
720 @ drawBox(lineColor,x0,y0,x1,y1);
721 @ }
722 @ function drawNode(p, left, btm){
723 @ drawBox(boxColor,p.x-5,p.y-5,p.x+6,p.y+6);
724 @ drawBox(p.bg||bgColor,p.x-4,p.y-4,p.x+5,p.y+5);
725 @ if( p.u>0 ) drawUpArrow(p.x, rowinfo[p.u-1].y+6, p.y-5);
726 @ if( p.f&1 ) drawBox(boxColor,p.x-1,p.y-1,p.x+2,p.y+2);
727 if( !omitDescenders ){
728 @ if( p.u==0 ) drawUpArrow(p.x, 0, p.y-5);
729 @ if( p.d ) drawUpArrow(p.x, p.y+6, btm);
730

Keyboard Shortcuts

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