Index: Source/devtools/front_end/timeline/Layers3DView.js |
diff --git a/Source/devtools/front_end/timeline/Layers3DView.js b/Source/devtools/front_end/timeline/Layers3DView.js |
index 64f16fa447c57e86d671f21699ffa0602e1a92e0..9146d43e58291b1e061271b78c0fe3946554cb7d 100644 |
--- a/Source/devtools/front_end/timeline/Layers3DView.js |
+++ b/Source/devtools/front_end/timeline/Layers3DView.js |
@@ -249,13 +249,13 @@ WebInspector.Layers3DView.prototype = { |
*/ |
_calculateProjectionMatrix: function() |
{ |
- var rootLayerPadding = 20; |
- var rootWidth = this._layerTree.contentRoot().width(); |
- var rootHeight = this._layerTree.contentRoot().height(); |
+ var viewport = this._layerTree.viewportSize(); |
+ var baseWidth = viewport ? viewport.width : this._layerTree.contentRoot().width(); |
+ var baseHeight = viewport ? viewport.height : this._layerTree.contentRoot().height(); |
var canvasWidth = this._canvasElement.width; |
var canvasHeight = this._canvasElement.height; |
- var scaleX = (canvasWidth - rootLayerPadding) / rootWidth; |
- var scaleY = (canvasHeight - rootLayerPadding) / rootHeight; |
+ var scaleX = canvasWidth / baseWidth / 1.2; |
caseq
2014/06/16 16:11:06
var scaleFactorForMargins = 1.2;
malch
2014/06/16 16:16:14
Done.
|
+ var scaleY = canvasHeight / baseHeight / 1.2; |
var viewScale = Math.min(scaleX, scaleY); |
var scale = this._transformController.scale(); |
var offsetX = this._transformController.offsetX() * window.devicePixelRatio; |
@@ -263,7 +263,7 @@ WebInspector.Layers3DView.prototype = { |
var rotateX = this._transformController.rotateX(); |
var rotateY = this._transformController.rotateY(); |
return new WebKitCSSMatrix().translate(offsetX, offsetY, 0).scale(scale, scale, scale).translate(canvasWidth / 2, canvasHeight / 2, 0) |
- .rotate(rotateX, rotateY, 0).scale(viewScale, viewScale, viewScale).translate(-rootWidth / 2, -rootHeight / 2, 0); |
+ .rotate(rotateX, rotateY, 0).scale(viewScale, viewScale, viewScale).translate(-baseWidth / 2, -baseHeight / 2, 0); |
}, |
_initProjectionMatrix: function() |
@@ -498,6 +498,16 @@ WebInspector.Layers3DView.prototype = { |
} |
}, |
+ _drawViewport: function() |
+ { |
+ var viewport = this._layerTree.viewportSize(); |
+ var vertices = [0, 0, 0, viewport.width, 0, 0, viewport.width, viewport.height, 0, 0, viewport.height, 0]; |
+ var color = [0, 0, 0, 1]; |
+ this._gl.lineWidth(3.0); |
+ this._drawRectangle(vertices, color, this._gl.LINE_LOOP); |
+ this._gl.lineWidth(1.0); |
+ }, |
+ |
_calculateDepths: function() |
{ |
this._depthByLayerId = {}; |
@@ -549,6 +559,8 @@ WebInspector.Layers3DView.prototype = { |
gl.viewport(0, 0, gl.viewportWidth, gl.viewportHeight); |
gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); |
+ if (this._layerTree.viewportSize()) |
+ this._drawViewport(); |
this._layerTree.forEachLayer(this._drawLayer.bind(this)); |
}, |