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; }".
Commit
c06e296b4069e2792a4cfa3b7d2672266e0537fd
Parent
b67b42fea8afe1c…
2 files changed
+1
-1
+4
-2
+1
-1
| --- src/graph.c | ||
| +++ src/graph.c | ||
| @@ -198,11 +198,11 @@ | ||
| 198 | 198 | pRow->zBranch = persistBranchName(p, zBranch); |
| 199 | 199 | if( zUuid==0 ) zUuid = ""; |
| 200 | 200 | sqlite3_snprintf(sizeof(pRow->zUuid), pRow->zUuid, "%s", zUuid); |
| 201 | 201 | pRow->isLeaf = isLeaf; |
| 202 | 202 | memset(pRow->aiRiser, -1, sizeof(pRow->aiRiser)); |
| 203 | - if( zBgClr==0 || zBgClr[0]==0 ) zBgClr = "white"; | |
| 203 | + if( zBgClr==0 ) zBgClr = ""; | |
| 204 | 204 | pRow->zBgClr = persistBranchName(p, zBgClr); |
| 205 | 205 | memcpy(pRow->aParent, aParent, sizeof(aParent[0])*nParent); |
| 206 | 206 | if( p->pFirst==0 ){ |
| 207 | 207 | p->pFirst = pRow; |
| 208 | 208 | }else{ |
| 209 | 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[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 @@ | ||
| 649 | 649 | cgi_printf("],h:\"%s\"}%s", pRow->zUuid, pRow->pNext ? ",\n" : "];\n"); |
| 650 | 650 | } |
| 651 | 651 | cgi_printf("var nrail = %d\n", pGraph->mxRail+1); |
| 652 | 652 | graph_free(pGraph); |
| 653 | 653 | @ var canvasDiv = gebi("canvas"); |
| 654 | - @ var canvasStyle = window.getComputedStyle(canvasDiv); | |
| 654 | + @ var canvasStyle = window.getComputedStyle(canvasDiv,null); | |
| 655 | 655 | @ var lineColor = canvasStyle.getPropertyValue('color') || 'black'; |
| 656 | + @ var bgColor = canvasStyle.getPropertyValue('background-color') || 'white'; | |
| 657 | + @ if( bgColor=='transparent' ) bgColor = 'white'; | |
| 656 | 658 | @ var boxColor = lineColor; |
| 657 | 659 | @ function drawBox(color,x0,y0,x1,y1){ |
| 658 | 660 | @ var n = document.createElement("div"); |
| 659 | 661 | @ if( x0>x1 ){ var t=x0; x0=x1; x1=t; } |
| 660 | 662 | @ if( y0>y1 ){ var t=y0; y0=y1; y1=t; } |
| @@ -717,11 +719,11 @@ | ||
| 717 | 719 | @ function drawThinLine(x0,y0,x1,y1){ |
| 718 | 720 | @ drawBox(lineColor,x0,y0,x1,y1); |
| 719 | 721 | @ } |
| 720 | 722 | @ function drawNode(p, left, btm){ |
| 721 | 723 | @ 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); | |
| 723 | 725 | @ if( p.u>0 ) drawUpArrow(p.x, rowinfo[p.u-1].y+6, p.y-5); |
| 724 | 726 | @ if( p.f&1 ) drawBox(boxColor,p.x-1,p.y-1,p.x+2,p.y+2); |
| 725 | 727 | if( !omitDescenders ){ |
| 726 | 728 | @ if( p.u==0 ) drawUpArrow(p.x, 0, p.y-5); |
| 727 | 729 | @ if( p.d ) drawUpArrow(p.x, p.y+6, btm); |
| 728 | 730 |
| --- 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 |