0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2024-12-24 00:03:11 -05:00

Update gitgraph.js to fix blurry commit graph on HiDPI screens (#2957)

This commit is contained in:
Michael Kuhn 2017-11-22 17:08:26 +01:00 committed by Lunny Xiao
parent 2cb6c51158
commit 42d781a709
2 changed files with 21 additions and 4 deletions

View file

@ -15,7 +15,7 @@ File(s): /vendor/plugins/clipboard/clipboard.min.js
Version: 1.5.9 Version: 1.5.9
File(s): /vendor/plugins/gitgraph/gitgraph.js File(s): /vendor/plugins/gitgraph/gitgraph.js
Version: 5fcc26b Version: 9b492e8bf1ddf7908a4997b8f83fa38a809a9da3
File(s): /vendor/plugins/autolink/autolink.js File(s): /vendor/plugins/autolink/autolink.js
Version: 741f66f Version: 741f66f

View file

@ -44,6 +44,15 @@ var gitGraph = function (canvas, rawGraphList, config) {
var ctx = canvas.getContext("2d"); 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 init = function () {
var maxWidth = 0; var maxWidth = 0;
var i; var i;
@ -61,12 +70,20 @@ var gitGraph = function (canvas, rawGraphList, config) {
graphList.unshift(row); graphList.unshift(row);
} }
canvas.width = maxWidth * config.unitSize; var width = maxWidth * config.unitSize;
canvas.height = graphList.length * 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.lineWidth = config.lineWidth;
ctx.lineJoin = "round"; ctx.lineJoin = "round";
ctx.lineCap = "round"; ctx.lineCap = "round";
ctx.scale(ratio, ratio);
}; };
var genRandomStr = function () { var genRandomStr = function () {
@ -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 //iterate
for (i = 0, l = graphList.length; i < l; i++) { for (i = 0, l = graphList.length; i < l; i++) {