Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1703)

Unified Diff: Source/devtools/front_end/timeline/Layers3DView.js

Issue 331143005: DevTools: Add showing viewport for Layers3DView. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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));
},

Powered by Google App Engine
This is Rietveld 408576698