Skip to content

Commit

Permalink
Update gitgraph.js to fix blurry commit graph on HiDPI screens (#2957)
Browse files Browse the repository at this point in the history
  • Loading branch information
michaelkuhn authored and lunny committed Nov 22, 2017
1 parent 2cb6c51 commit 42d781a
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 4 deletions.
2 changes: 1 addition & 1 deletion public/vendor/VERSIONS
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ File(s): /vendor/plugins/clipboard/clipboard.min.js
Version: 1.5.9

File(s): /vendor/plugins/gitgraph/gitgraph.js
Version: 5fcc26b
Version: 9b492e8bf1ddf7908a4997b8f83fa38a809a9da3

File(s): /vendor/plugins/autolink/autolink.js
Version: 741f66f
Expand Down
23 changes: 20 additions & 3 deletions public/vendor/plugins/gitgraph/gitgraph.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,15 @@ var gitGraph = function (canvas, rawGraphList, config) {

var ctx = canvas.getContext("2d");

var devicePixelRatio = window.devicePixelRatio || 1;
var backingStoreRatio = ctx.webkitBackingStorePixelRatio ||
ctx.mozBackingStorePixelRatio ||
ctx.msBackingStorePixelRatio ||
ctx.oBackingStorePixelRatio ||
ctx.backingStorePixelRatio || 1;

var ratio = devicePixelRatio / backingStoreRatio;

var init = function () {
var maxWidth = 0;
var i;
Expand All @@ -61,12 +70,20 @@ var gitGraph = function (canvas, rawGraphList, config) {
graphList.unshift(row);
}

canvas.width = maxWidth * config.unitSize;
canvas.height = graphList.length * config.unitSize;
var width = maxWidth * config.unitSize;
var height = graphList.length * config.unitSize;

canvas.width = width * ratio;
canvas.height = height * ratio;

canvas.style.width = width + 'px';
canvas.style.height = height + 'px';

ctx.lineWidth = config.lineWidth;
ctx.lineJoin = "round";
ctx.lineCap = "round";

ctx.scale(ratio, ratio);
};

var genRandomStr = function () {
Expand Down Expand Up @@ -186,7 +203,7 @@ var gitGraph = function (canvas, rawGraphList, config) {
}
}

y = canvas.height - config.unitSize * 0.5;
y = (canvas.height / ratio) - config.unitSize * 0.5;

//iterate
for (i = 0, l = graphList.length; i < l; i++) {
Expand Down

0 comments on commit 42d781a

Please sign in to comment.