Skip to content

Commit

Permalink
[WebProfilerBundle] Draw retina canvas if devicePixelRatio is bigger …
Browse files Browse the repository at this point in the history
…than 1
  • Loading branch information
henrikbjorn committed Feb 14, 2013
1 parent 223cc6f commit 439b8bc
Showing 1 changed file with 18 additions and 3 deletions.
Expand Up @@ -194,7 +194,10 @@
h = space,
x = request.left * ratio + space, // position
canvas = cache.get(elementId) || cache.set(elementId, document.getElementById(elementId)),
ctx = canvas.getContext("2d");
ctx = canvas.getContext("2d"),
backingStoreRatio,
scaleRatio,
devicePixelRatio;
// Filter events whose total time is below the threshold.
drawableEvents = request.events.filter(function(event) {
Expand All @@ -203,8 +206,20 @@
canvasHeight += gapPerEvent * drawableEvents.length;
canvas.width = width;
canvas.height = canvasHeight;
// For retina displays so text and boxes will be crisp
devicePixelRatio = window.devicePixelRatio == "undefined" ? 1 : window.devicePixelRatio;
backingStoreRatio = ctx.webkitBackingStorePixelRatio == "undefined" ? 1 : ctx.webkitBackingStorePixelRatio;
scaleRatio = devicePixelRatio / 1;
canvasHeight += gapPerEvent * drawableEvents.length;
canvas.width = width * scaleRatio;
canvas.height = canvasHeight * scaleRatio;
canvas.style.width = width + 'px';
canvas.style.height = canvasHeight + 'px';
ctx.scale(scaleRatio, scaleRatio);
ctx.textBaseline = "middle";
ctx.lineWidth = 0;
Expand Down

0 comments on commit 439b8bc

Please sign in to comment.