Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2014 Google Inc. All rights reserved. | 2 * Copyright (C) 2014 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 44 | 44 |
| 45 this._canvasElement = this.element.createChild("canvas"); | 45 this._canvasElement = this.element.createChild("canvas"); |
| 46 this._canvasElement.tabIndex = 0; | 46 this._canvasElement.tabIndex = 0; |
| 47 this._canvasElement.addEventListener("dblclick", this._onDoubleClick.bind(th is), false); | 47 this._canvasElement.addEventListener("dblclick", this._onDoubleClick.bind(th is), false); |
| 48 this._canvasElement.addEventListener("mousedown", this._onMouseDown.bind(thi s), false); | 48 this._canvasElement.addEventListener("mousedown", this._onMouseDown.bind(thi s), false); |
| 49 this._canvasElement.addEventListener("mouseup", this._onMouseUp.bind(this), false); | 49 this._canvasElement.addEventListener("mouseup", this._onMouseUp.bind(this), false); |
| 50 this._canvasElement.addEventListener("mouseleave", this._onMouseMove.bind(th is), false); | 50 this._canvasElement.addEventListener("mouseleave", this._onMouseMove.bind(th is), false); |
| 51 this._canvasElement.addEventListener("mousemove", this._onMouseMove.bind(thi s), false); | 51 this._canvasElement.addEventListener("mousemove", this._onMouseMove.bind(thi s), false); |
| 52 this._canvasElement.addEventListener("contextmenu", this._onContextMenu.bind (this), false); | 52 this._canvasElement.addEventListener("contextmenu", this._onContextMenu.bind (this), false); |
| 53 | 53 |
| 54 this._lastActiveObject = {}; | 54 this._lastSelection = {}; |
| 55 this._picturesForLayer = {}; | 55 this._picturesForLayer = {}; |
| 56 this._scrollRectQuadsForLayer = {}; | 56 this._scrollRectQuadsForLayer = {}; |
| 57 this._isVisible = {}; | 57 this._isVisible = {}; |
| 58 this._layerTree = null; | 58 this._layerTree = null; |
| 59 this._textureManager = new WebInspector.LayerTextureManager(); | 59 this._textureManager = new WebInspector.LayerTextureManager(); |
| 60 this._textureManager.addEventListener(WebInspector.LayerTextureManager.Event s.TextureUpdated, this._update, this); | 60 this._textureManager.addEventListener(WebInspector.LayerTextureManager.Event s.TextureUpdated, this._update, this); |
| 61 /** @type Array.<!WebGLTexture|undefined> */ | 61 /** @type Array.<!WebGLTexture|undefined> */ |
| 62 this._chromeTextures = []; | 62 this._chromeTextures = []; |
| 63 | 63 |
| 64 WebInspector.settings.showPaintRects.addChangeListener(this._update, this); | 64 WebInspector.settings.showPaintRects.addChangeListener(this._update, this); |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 123 "uniform mat4 uPMatrix;\n" + | 123 "uniform mat4 uPMatrix;\n" + |
| 124 "varying vec2 vTextureCoord;\n" + | 124 "varying vec2 vTextureCoord;\n" + |
| 125 "varying vec4 vColor;\n" + | 125 "varying vec4 vColor;\n" + |
| 126 "void main(void)\n" + | 126 "void main(void)\n" + |
| 127 "{\n" + | 127 "{\n" + |
| 128 "gl_Position = uPMatrix * vec4(aVertexPosition, 1.0);\n" + | 128 "gl_Position = uPMatrix * vec4(aVertexPosition, 1.0);\n" + |
| 129 "vColor = aVertexColor;\n" + | 129 "vColor = aVertexColor;\n" + |
| 130 "vTextureCoord = aTextureCoord;\n" + | 130 "vTextureCoord = aTextureCoord;\n" + |
| 131 "}"; | 131 "}"; |
| 132 | 132 |
| 133 WebInspector.Layers3DView.SelectedBackgroundColor = [20, 40, 110, 0.66]; | |
| 134 WebInspector.Layers3DView.BackgroundColor = [0, 0, 0, 0]; | |
| 135 WebInspector.Layers3DView.HoveredBorderColor = [0, 0, 255, 1]; | 133 WebInspector.Layers3DView.HoveredBorderColor = [0, 0, 255, 1]; |
| 136 WebInspector.Layers3DView.SelectedBorderColor = [0, 255, 0, 1]; | 134 WebInspector.Layers3DView.SelectedBorderColor = [0, 255, 0, 1]; |
| 137 WebInspector.Layers3DView.BorderColor = [0, 0, 0, 1]; | 135 WebInspector.Layers3DView.BorderColor = [0, 0, 0, 1]; |
| 138 WebInspector.Layers3DView.ViewportBorderColor = [160, 160, 160, 1]; | 136 WebInspector.Layers3DView.ViewportBorderColor = [160, 160, 160, 1]; |
| 139 WebInspector.Layers3DView.ScrollRectBackgroundColor = [178, 0, 0, 0.4]; | 137 WebInspector.Layers3DView.ScrollRectBackgroundColor = [178, 100, 100, 0.6]; |
| 140 WebInspector.Layers3DView.SelectedScrollRectBackgroundColor = [178, 0, 0, 0.6]; | 138 WebInspector.Layers3DView.HoveredImageMaskColor = [200, 200, 255, 1]; |
| 141 WebInspector.Layers3DView.ScrollRectBorderColor = [178, 0, 0, 1]; | |
| 142 WebInspector.Layers3DView.BorderWidth = 1; | 139 WebInspector.Layers3DView.BorderWidth = 1; |
| 143 WebInspector.Layers3DView.SelectedBorderWidth = 2; | 140 WebInspector.Layers3DView.SelectedBorderWidth = 2; |
| 144 WebInspector.Layers3DView.ViewportBorderWidth = 3; | 141 WebInspector.Layers3DView.ViewportBorderWidth = 3; |
| 145 | 142 |
| 146 WebInspector.Layers3DView.LayerSpacing = 20; | 143 WebInspector.Layers3DView.LayerSpacing = 20; |
| 147 WebInspector.Layers3DView.ScrollRectSpacing = 4; | 144 WebInspector.Layers3DView.ScrollRectSpacing = 4; |
| 148 | 145 |
| 149 WebInspector.Layers3DView.prototype = { | 146 WebInspector.Layers3DView.prototype = { |
| 150 /** | 147 /** |
| 151 * @param {?WebInspector.LayerTreeBase} layerTree | 148 * @param {?WebInspector.LayerTreeBase} layerTree |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 193 }, | 190 }, |
| 194 | 191 |
| 195 wasShown: function() | 192 wasShown: function() |
| 196 { | 193 { |
| 197 if (this._needsUpdate) | 194 if (this._needsUpdate) |
| 198 this._update(); | 195 this._update(); |
| 199 }, | 196 }, |
| 200 | 197 |
| 201 /** | 198 /** |
| 202 * @param {!WebInspector.Layers3DView.OutlineType} type | 199 * @param {!WebInspector.Layers3DView.OutlineType} type |
| 203 * @param {?WebInspector.Layers3DView.ActiveObject} activeObject | 200 * @param {?WebInspector.Layers3DView.Selection} selection |
| 204 */ | 201 */ |
| 205 _setOutline: function(type, activeObject) | 202 _setOutline: function(type, selection) |
| 206 { | 203 { |
| 207 this._lastActiveObject[type] = activeObject; | 204 this._lastSelection[type] = selection; |
| 208 this._update(); | 205 this._update(); |
| 209 }, | 206 }, |
| 210 | 207 |
| 211 /** | 208 /** |
| 212 * @param {?WebInspector.Layers3DView.ActiveObject} activeObject | 209 * @param {?WebInspector.Layers3DView.Selection} selection |
| 213 */ | 210 */ |
| 214 hoverObject: function(activeObject) | 211 hoverObject: function(selection) |
| 215 { | 212 { |
| 216 this._setOutline(WebInspector.Layers3DView.OutlineType.Hovered, activeOb ject); | 213 this._setOutline(WebInspector.Layers3DView.OutlineType.Hovered, selectio n); |
| 217 }, | 214 }, |
| 218 | 215 |
| 219 /** | 216 /** |
| 220 * @param {?WebInspector.Layers3DView.ActiveObject} activeObject | 217 * @param {?WebInspector.Layers3DView.Selection} selection |
| 221 */ | 218 */ |
| 222 selectObject: function(activeObject) | 219 selectObject: function(selection) |
| 223 { | 220 { |
| 224 this._setOutline(WebInspector.Layers3DView.OutlineType.Hovered, null); | 221 this._setOutline(WebInspector.Layers3DView.OutlineType.Hovered, null); |
| 225 this._setOutline(WebInspector.Layers3DView.OutlineType.Selected, activeO bject); | 222 this._setOutline(WebInspector.Layers3DView.OutlineType.Selected, selecti on); |
| 226 }, | 223 }, |
| 227 | 224 |
| 228 /** | 225 /** |
| 229 * @param {!Element} canvas | 226 * @param {!Element} canvas |
| 230 * @return {!WebGLRenderingContext} | 227 * @return {!WebGLRenderingContext} |
| 231 */ | 228 */ |
| 232 _initGL: function(canvas) | 229 _initGL: function(canvas) |
| 233 { | 230 { |
| 234 var gl = canvas.getContext("webgl"); | 231 var gl = canvas.getContext("webgl"); |
| 235 gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA); | 232 gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA); |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 363 }, | 360 }, |
| 364 | 361 |
| 365 _calculateDepths: function() | 362 _calculateDepths: function() |
| 366 { | 363 { |
| 367 this._depthByLayerId = {}; | 364 this._depthByLayerId = {}; |
| 368 this._isVisible = {}; | 365 this._isVisible = {}; |
| 369 var depth = 0; | 366 var depth = 0; |
| 370 var root = this._layerTree.root(); | 367 var root = this._layerTree.root(); |
| 371 var queue = [root]; | 368 var queue = [root]; |
| 372 this._depthByLayerId[root.id()] = 0; | 369 this._depthByLayerId[root.id()] = 0; |
| 373 this._isVisible[root.id()] = this._layerTree.root() === root; | 370 this._isVisible[root.id()] = !this._layerTree.contentRoot(); |
| 374 while (queue.length > 0) { | 371 while (queue.length > 0) { |
| 375 var layer = queue.shift(); | 372 var layer = queue.shift(); |
| 376 var children = layer.children(); | 373 var children = layer.children(); |
| 377 for (var i = 0; i < children.length; ++i) { | 374 for (var i = 0; i < children.length; ++i) { |
| 378 this._depthByLayerId[children[i].id()] = ++depth; | 375 this._depthByLayerId[children[i].id()] = ++depth; |
| 379 this._isVisible[children[i].id()] = children[i] === this._layerT ree.contentRoot() || this._isVisible[layer.id()]; | 376 this._isVisible[children[i].id()] = children[i] === this._layerT ree.contentRoot() || this._isVisible[layer.id()]; |
| 380 queue.push(children[i]); | 377 queue.push(children[i]); |
| 381 } | 378 } |
| 382 } | 379 } |
| 383 this._maxDepth = depth; | 380 this._maxDepth = depth; |
| 384 }, | 381 }, |
| 385 | 382 |
| 386 /** | 383 /** |
| 387 * @param {!WebInspector.Layers3DView.OutlineType} type | 384 * @param {!WebInspector.Layers3DView.OutlineType} type |
| 388 * @param {!WebInspector.Layer} layer | 385 * @param {!WebInspector.Layers3DView.Selection} selection |
| 389 * @param {number=} scrollRectIndex | |
| 390 */ | 386 */ |
| 391 _isObjectActive: function(type, layer, scrollRectIndex) | 387 _isSelectionActive: function(type, selection) |
| 392 { | 388 { |
| 393 var activeObject = this._lastActiveObject[type]; | 389 return this._lastSelection[type] && this._lastSelection[type].isEqual(se lection); |
| 394 return activeObject && activeObject.layer && activeObject.layer.id() === layer.id() && (typeof scrollRectIndex !== "number" || activeObject.scrollRectIn dex === scrollRectIndex); | |
| 395 }, | 390 }, |
| 396 | 391 |
| 397 /** | 392 /** |
| 398 * @param {!WebInspector.Layer} layer | |
| 399 * @return {!WebInspector.Layers3DView.LayerStyle} | |
| 400 */ | |
| 401 _styleForLayer: function(layer) | |
| 402 { | |
| 403 var isSelected = this._isObjectActive(WebInspector.Layers3DView.OutlineT ype.Selected, layer); | |
| 404 var isHovered = this._isObjectActive(WebInspector.Layers3DView.OutlineTy pe.Hovered, layer); | |
| 405 var borderColor; | |
| 406 if (isSelected) | |
| 407 borderColor = WebInspector.Layers3DView.SelectedBorderColor; | |
| 408 else if (isHovered) | |
| 409 borderColor = WebInspector.Layers3DView.HoveredBorderColor; | |
| 410 else | |
| 411 borderColor = WebInspector.Layers3DView.BorderColor; | |
| 412 var borderWidth = isSelected ? WebInspector.Layers3DView.SelectedBorderW idth : WebInspector.Layers3DView.BorderWidth; | |
| 413 return {borderColor: borderColor, borderWidth: borderWidth}; | |
| 414 }, | |
| 415 | |
| 416 /** | |
| 417 * @param {!WebInspector.Layer} layer | 393 * @param {!WebInspector.Layer} layer |
| 418 * @return {number} | 394 * @return {number} |
| 419 */ | 395 */ |
| 420 _depthForLayer: function(layer) | 396 _depthForLayer: function(layer) |
| 421 { | 397 { |
| 422 return this._depthByLayerId[layer.id()] * WebInspector.Layers3DView.Laye rSpacing; | 398 return this._depthByLayerId[layer.id()] * WebInspector.Layers3DView.Laye rSpacing; |
| 423 }, | 399 }, |
| 424 | 400 |
| 425 /** | 401 /** |
| 426 * @param {!WebInspector.Layer} layer | 402 * @param {!WebInspector.Layer} layer |
| 427 * @param {number} index | 403 * @param {number} index |
| 428 * @return {number} | 404 * @return {number} |
| 429 */ | 405 */ |
| 430 _calculateScrollRectDepth: function(layer, index) | 406 _calculateScrollRectDepth: function(layer, index) |
| 431 { | 407 { |
| 432 return this._depthForLayer(layer) + index * WebInspector.Layers3DView.Sc rollRectSpacing + 1; | 408 return this._depthForLayer(layer) + index * WebInspector.Layers3DView.Sc rollRectSpacing + 1; |
| 433 }, | 409 }, |
| 434 | 410 |
| 435 /** | 411 /** |
| 436 * @param {!WebInspector.Layer} layer | 412 * @param {!WebInspector.Layer} layer |
| 437 */ | 413 */ |
| 438 _calculateLayerRect: function(layer) | 414 _calculateLayerRect: function(layer) |
| 439 { | 415 { |
| 440 if (!this._isVisible[layer.id()]) | 416 if (!this._isVisible[layer.id()]) |
| 441 return; | 417 return; |
| 442 var activeObject = WebInspector.Layers3DView.ActiveObject.createLayerAct iveObject(layer); | 418 var selection = new WebInspector.Layers3DView.LayerSelection(layer); |
| 443 var rect = new WebInspector.Layers3DView.Rectangle(activeObject); | 419 var rect = new WebInspector.Layers3DView.Rectangle(selection); |
| 444 var style = this._styleForLayer(layer); | |
| 445 rect.setVertices(layer.quad(), this._depthForLayer(layer)); | 420 rect.setVertices(layer.quad(), this._depthForLayer(layer)); |
| 446 rect.lineWidth = style.borderWidth; | 421 this._appendRect(rect); |
| 447 rect.borderColor = style.borderColor; | 422 }, |
| 423 | |
| 424 /** | |
| 425 * @param {!WebInspector.Layers3DView.Rectangle} rect | |
| 426 */ | |
| 427 _appendRect: function(rect) | |
| 428 { | |
| 429 var selection = rect.relatedObject; | |
| 430 var isSelected = this._isSelectionActive(WebInspector.Layers3DView.Outli neType.Selected, selection); | |
| 431 var isHovered = this._isSelectionActive(WebInspector.Layers3DView.Outlin eType.Hovered, selection); | |
| 432 if (isSelected) | |
|
pfeldman
2014/11/11 17:25:48
{}
| |
| 433 rect.borderColor = WebInspector.Layers3DView.SelectedBorderColor; | |
| 434 else if (isHovered) { | |
| 435 rect.borderColor = WebInspector.Layers3DView.HoveredBorderColor; | |
| 436 var fillColor = rect.fillColor || [255, 255, 255, 1]; | |
| 437 var maskColor = WebInspector.Layers3DView.HoveredImageMaskColor; | |
| 438 rect.fillColor = [fillColor[0] * maskColor[0] / 255, fillColor[1] * maskColor[1] / 255, fillColor[2] * maskColor[2] / 255, fillColor[3] * maskColor[ 3]]; | |
| 439 } else | |
| 440 rect.borderColor = WebInspector.Layers3DView.BorderColor; | |
| 441 rect.lineWidth = isSelected ? WebInspector.Layers3DView.SelectedBorderWi dth : WebInspector.Layers3DView.BorderWidth; | |
| 448 this._rects.push(rect); | 442 this._rects.push(rect); |
| 449 }, | 443 }, |
| 450 | 444 |
| 451 /** | 445 /** |
| 452 * @param {!WebInspector.Layer} layer | 446 * @param {!WebInspector.Layer} layer |
| 453 */ | 447 */ |
| 454 _calculateLayerScrollRects: function(layer) | 448 _calculateLayerScrollRects: function(layer) |
| 455 { | 449 { |
| 456 var scrollRects = layer.scrollRects(); | 450 var scrollRects = layer.scrollRects(); |
| 457 for (var i = 0; i < scrollRects.length; ++i) { | 451 for (var i = 0; i < scrollRects.length; ++i) { |
| 458 var activeObject = WebInspector.Layers3DView.ActiveObject.createScro llRectActiveObject(layer, i); | 452 var selection = new WebInspector.Layers3DView.ScrollRectSelection(la yer, i); |
| 459 var rect = new WebInspector.Layers3DView.Rectangle(activeObject); | 453 var rect = new WebInspector.Layers3DView.Rectangle(selection); |
| 460 rect.calculateVerticesFromRect(layer, scrollRects[i].rect, this._cal culateScrollRectDepth(layer, i)); | 454 rect.calculateVerticesFromRect(layer, scrollRects[i].rect, this._cal culateScrollRectDepth(layer, i)); |
| 461 var isSelected = this._isObjectActive(WebInspector.Layers3DView.Outl ineType.Selected, layer, i); | 455 rect.fillColor = WebInspector.Layers3DView.ScrollRectBackgroundColor ; |
| 462 var color = isSelected ? WebInspector.Layers3DView.SelectedScrollRec tBackgroundColor : WebInspector.Layers3DView.ScrollRectBackgroundColor; | 456 this._appendRect(rect); |
| 463 rect.fillColor = color; | |
| 464 rect.borderColor = WebInspector.Layers3DView.ScrollRectBorderColor; | |
| 465 this._rects.push(rect); | |
| 466 } | 457 } |
| 467 }, | 458 }, |
| 468 | 459 |
| 469 /** | 460 /** |
| 470 * @param {!WebInspector.Layer} layer | 461 * @param {!WebInspector.Layer} layer |
| 471 */ | 462 */ |
| 472 _calculateLayerImageRect: function(layer) | 463 _calculateLayerImageRect: function(layer) |
| 473 { | 464 { |
| 474 var layerTexture = this._layerTexture; | 465 var layerTexture = this._layerTexture; |
| 475 if (layer.id() !== layerTexture.layerId) | 466 if (layer.id() !== layerTexture.layerId) |
| 476 return; | 467 return; |
| 477 var activeObject = WebInspector.Layers3DView.ActiveObject.createLayerAct iveObject(layer); | 468 var selection = new WebInspector.Layers3DView.LayerSelection(layer); |
| 478 var rect = new WebInspector.Layers3DView.Rectangle(activeObject); | 469 var rect = new WebInspector.Layers3DView.Rectangle(selection); |
| 479 rect.setVertices(layer.quad(), this._depthForLayer(layer)); | 470 rect.setVertices(layer.quad(), this._depthForLayer(layer)); |
| 480 rect.texture = layerTexture.texture; | 471 rect.texture = layerTexture.texture; |
| 481 this._rects.push(rect); | 472 this._appendRect(rect); |
| 482 }, | 473 }, |
| 483 | 474 |
| 484 /** | 475 /** |
| 485 * @param {!WebInspector.Layer} layer | 476 * @param {!WebInspector.Layer} layer |
| 486 */ | 477 */ |
| 487 _calculateLayerTileRects: function(layer) | 478 _calculateLayerTileRects: function(layer) |
| 488 { | 479 { |
| 489 var tiles = this._textureManager.tilesForLayer(layer.id()); | 480 var tiles = this._textureManager.tilesForLayer(layer.id()); |
| 490 for (var i = 0; i < tiles.length; ++i) { | 481 for (var i = 0; i < tiles.length; ++i) { |
| 491 var tile = tiles[i]; | 482 var tile = tiles[i]; |
| 492 if (!tile.texture) | 483 if (!tile.texture) |
| 493 continue; | 484 continue; |
| 494 var activeObject = WebInspector.Layers3DView.ActiveObject.createTile ActiveObject(layer, tile.traceEvent); | 485 var selection = new WebInspector.Layers3DView.TileSelection(layer, t ile.traceEvent); |
| 495 var rect = new WebInspector.Layers3DView.Rectangle(activeObject); | 486 var rect = new WebInspector.Layers3DView.Rectangle(selection); |
| 496 rect.calculateVerticesFromRect(layer, {x: tile.rect[0], y: tile.rect [1], width: tile.rect[2], height: tile.rect[3]}, this._depthForLayer(layer) + 1) ; | 487 rect.calculateVerticesFromRect(layer, {x: tile.rect[0], y: tile.rect [1], width: tile.rect[2], height: tile.rect[3]}, this._depthForLayer(layer) + 1) ; |
| 497 rect.texture = tile.texture; | 488 rect.texture = tile.texture; |
| 498 this._rects.push(rect); | 489 this._appendRect(rect); |
| 499 } | 490 } |
| 500 }, | 491 }, |
| 501 | 492 |
| 502 _calculateRects: function() | 493 _calculateRects: function() |
| 503 { | 494 { |
| 504 this._rects = []; | 495 this._rects = []; |
| 505 | 496 |
| 506 this._layerTree.forEachLayer(this._calculateLayerRect.bind(this)); | 497 this._layerTree.forEachLayer(this._calculateLayerRect.bind(this)); |
| 507 | 498 |
| 508 if (this._showSlowScrollRectsSetting.get()) | 499 if (this._showSlowScrollRectsSetting.get()) |
| 509 this._layerTree.forEachLayer(this._calculateLayerScrollRects.bind(th is)); | 500 this._layerTree.forEachLayer(this._calculateLayerScrollRects.bind(th is)); |
| 510 | 501 |
| 511 if (this._showPaintsSetting.get()) { | 502 if (this._showPaintsSetting.get()) { |
| 512 if (this._layerTexture) | 503 if (this._layerTexture) |
| 513 this._layerTree.forEachLayer(this._calculateLayerImageRect.bind( this)); | 504 this._layerTree.forEachLayer(this._calculateLayerImageRect.bind( this)); |
| 514 else | 505 else |
| 515 this._layerTree.forEachLayer(this._calculateLayerTileRects.bind( this)); | 506 this._layerTree.forEachLayer(this._calculateLayerTileRects.bind( this)); |
| 516 } | 507 } |
| 517 }, | 508 }, |
| 518 | 509 |
| 519 /** | 510 /** |
| 520 * @param {!Array.<number>} color | 511 * @param {!Array.<number>} color |
| 521 * @return {!Array.<number>} | 512 * @return {!Array.<number>} |
| 522 */ | 513 */ |
| 523 _makeColorsArray: function(color) | 514 _makeColorsArray: function(color) |
| 524 { | 515 { |
| 525 var colors = []; | 516 var colors = []; |
| 526 var normalizedColor = [color[0] / 255, color[1] / 255, color[2] / 255, c olor[3]]; | 517 var normalizedColor = [color[0] / 255, color[1] / 255, color[2] / 255, c olor[3]]; |
| 527 for (var i = 0; i < 4; i++) { | 518 for (var i = 0; i < 4; i++) |
| 528 colors = colors.concat(normalizedColor); | 519 colors = colors.concat(normalizedColor); |
| 529 } | |
| 530 return colors; | 520 return colors; |
| 531 }, | 521 }, |
| 532 | 522 |
| 533 /** | 523 /** |
| 534 * @param {!Object} attribute | 524 * @param {!Object} attribute |
| 535 * @param {!Array.<number>} array | 525 * @param {!Array.<number>} array |
| 536 * @param {!number} length | 526 * @param {!number} length |
| 537 */ | 527 */ |
| 538 _setVertexAttribute: function(attribute, array, length) | 528 _setVertexAttribute: function(attribute, array, length) |
| 539 { | 529 { |
| 540 var gl = this._gl; | 530 var gl = this._gl; |
| 541 var buffer = gl.createBuffer(); | 531 var buffer = gl.createBuffer(); |
| 542 gl.bindBuffer(gl.ARRAY_BUFFER, buffer); | 532 gl.bindBuffer(gl.ARRAY_BUFFER, buffer); |
| 543 gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(array), gl.STATIC_DRAW); | 533 gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(array), gl.STATIC_DRAW); |
| 544 gl.vertexAttribPointer(attribute, length, gl.FLOAT, false, 0, 0); | 534 gl.vertexAttribPointer(attribute, length, gl.FLOAT, false, 0, 0); |
| 545 }, | 535 }, |
| 546 | 536 |
| 547 /** | 537 /** |
| 548 * @param {!Array.<number>} vertices | 538 * @param {!Array.<number>} vertices |
| 549 * @param {number} mode | 539 * @param {number} mode |
| 550 * @param {!Array.<number>=} color | 540 * @param {!Array.<number>=} color |
| 551 * @param {!Object=} texture | 541 * @param {!Object=} texture |
| 552 */ | 542 */ |
| 553 _drawRectangle: function(vertices, mode, color, texture) | 543 _drawRectangle: function(vertices, mode, color, texture) |
| 554 { | 544 { |
| 555 var gl = this._gl; | 545 var gl = this._gl; |
| 556 var white = [255, 255, 255, 1]; | 546 var white = [255, 255, 255, 1]; |
| 547 color = color || white; | |
| 557 this._setVertexAttribute(this._shaderProgram.vertexPositionAttribute, ve rtices, 3); | 548 this._setVertexAttribute(this._shaderProgram.vertexPositionAttribute, ve rtices, 3); |
| 558 this._setVertexAttribute(this._shaderProgram.textureCoordAttribute, [0, 1, 1, 1, 1, 0, 0, 0], 2); | 549 this._setVertexAttribute(this._shaderProgram.textureCoordAttribute, [0, 1, 1, 1, 1, 0, 0, 0], 2); |
| 550 this._setVertexAttribute(this._shaderProgram.vertexColorAttribute, this. _makeColorsArray(color), color.length); | |
| 559 | 551 |
| 560 if (texture) { | 552 if (texture) { |
| 561 this._setVertexAttribute(this._shaderProgram.vertexColorAttribute, t his._makeColorsArray(white), white.length); | |
| 562 gl.activeTexture(gl.TEXTURE0); | 553 gl.activeTexture(gl.TEXTURE0); |
| 563 gl.bindTexture(gl.TEXTURE_2D, texture); | 554 gl.bindTexture(gl.TEXTURE_2D, texture); |
| 564 gl.uniform1i(this._shaderProgram.samplerUniform, 0); | 555 gl.uniform1i(this._shaderProgram.samplerUniform, 0); |
| 565 } else { | 556 } else { |
| 566 this._setVertexAttribute(this._shaderProgram.vertexColorAttribute, t his._makeColorsArray(color || white), color.length); | |
| 567 gl.bindTexture(gl.TEXTURE_2D, this._whiteTexture); | 557 gl.bindTexture(gl.TEXTURE_2D, this._whiteTexture); |
| 568 } | 558 } |
| 569 | 559 |
| 570 var numberOfVertices = vertices.length / 3; | 560 var numberOfVertices = vertices.length / 3; |
| 571 gl.drawArrays(mode, 0, numberOfVertices); | 561 gl.drawArrays(mode, 0, numberOfVertices); |
| 572 }, | 562 }, |
| 573 | 563 |
| 574 /** | 564 /** |
| 575 * @param {!Array.<number>} vertices | 565 * @param {!Array.<number>} vertices |
| 576 * @param {!WebGLTexture} texture | 566 * @param {!WebGLTexture} texture |
| 567 * @param {!Array.<number>=} color | |
| 577 */ | 568 */ |
| 578 _drawTexture: function(vertices, texture) | 569 _drawTexture: function(vertices, texture, color) |
| 579 { | 570 { |
| 580 this._drawRectangle(vertices, this._gl.TRIANGLE_FAN, undefined, texture) ; | 571 this._drawRectangle(vertices, this._gl.TRIANGLE_FAN, color, texture); |
| 581 }, | 572 }, |
| 582 | 573 |
| 583 _drawViewportAndChrome: function() | 574 _drawViewportAndChrome: function() |
| 584 { | 575 { |
| 585 var viewport = this._layerTree.viewportSize(); | 576 var viewport = this._layerTree.viewportSize(); |
| 586 if (!viewport) | 577 if (!viewport) |
| 587 return; | 578 return; |
| 588 | 579 |
| 589 var drawChrome = !WebInspector.settings.frameViewerHideChromeWindow.get( ) && this._chromeTextures.length >= 3 && this._chromeTextures.indexOf(undefined) < 0; | 580 var drawChrome = !WebInspector.settings.frameViewerHideChromeWindow.get( ) && this._chromeTextures.length >= 3 && this._chromeTextures.indexOf(undefined) < 0; |
| 590 var z = (this._maxDepth + 1) * WebInspector.Layers3DView.LayerSpacing; | 581 var z = (this._maxDepth + 1) * WebInspector.Layers3DView.LayerSpacing; |
| (...skipping 21 matching lines...) Expand all Loading... | |
| 612 } | 603 } |
| 613 }, | 604 }, |
| 614 | 605 |
| 615 /** | 606 /** |
| 616 * @param {!WebInspector.Layers3DView.Rectangle} rect | 607 * @param {!WebInspector.Layers3DView.Rectangle} rect |
| 617 */ | 608 */ |
| 618 _drawViewRect: function(rect) | 609 _drawViewRect: function(rect) |
| 619 { | 610 { |
| 620 var vertices = rect.vertices; | 611 var vertices = rect.vertices; |
| 621 if (rect.texture) | 612 if (rect.texture) |
| 622 this._drawTexture(vertices, rect.texture); | 613 this._drawTexture(vertices, rect.texture, rect.fillColor || undefine d); |
| 623 else if (rect.fillColor) | 614 else if (rect.fillColor) |
| 624 this._drawRectangle(vertices, this._gl.TRIANGLE_FAN, rect.fillColor) ; | 615 this._drawRectangle(vertices, this._gl.TRIANGLE_FAN, rect.fillColor) ; |
| 625 this._gl.lineWidth(rect.lineWidth); | 616 this._gl.lineWidth(rect.lineWidth); |
| 626 if (rect.borderColor) | 617 if (rect.borderColor) |
| 627 this._drawRectangle(vertices, this._gl.LINE_LOOP, rect.borderColor); | 618 this._drawRectangle(vertices, this._gl.LINE_LOOP, rect.borderColor); |
| 628 }, | 619 }, |
| 629 | 620 |
| 630 _update: function() | 621 _update: function() |
| 631 { | 622 { |
| 632 if (!this.isShowing()) { | 623 if (!this.isShowing()) { |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 648 this._textureManager.setScale(Number.constrain(0.1, 1, this._scale)); | 639 this._textureManager.setScale(Number.constrain(0.1, 1, this._scale)); |
| 649 gl.viewport(0, 0, gl.viewportWidth, gl.viewportHeight); | 640 gl.viewport(0, 0, gl.viewportWidth, gl.viewportHeight); |
| 650 gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); | 641 gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); |
| 651 | 642 |
| 652 this._rects.forEach(this._drawViewRect.bind(this)); | 643 this._rects.forEach(this._drawViewRect.bind(this)); |
| 653 this._drawViewportAndChrome(); | 644 this._drawViewportAndChrome(); |
| 654 }, | 645 }, |
| 655 | 646 |
| 656 /** | 647 /** |
| 657 * @param {!Event} event | 648 * @param {!Event} event |
| 658 * @return {?WebInspector.Layers3DView.ActiveObject} | 649 * @return {?WebInspector.Layers3DView.Selection} |
| 659 */ | 650 */ |
| 660 _activeObjectFromEventPoint: function(event) | 651 _selectionFromEventPoint: function(event) |
| 661 { | 652 { |
| 662 if (!this._layerTree) | 653 if (!this._layerTree) |
| 663 return null; | 654 return null; |
| 664 var closestIntersectionPoint = Infinity; | 655 var closestIntersectionPoint = Infinity; |
| 665 var closestObject = null; | 656 var closestObject = null; |
| 666 var projectionMatrix = new WebKitCSSMatrix().scale(1, -1, -1).translate( -1, -1, 0).multiply(this._projectionMatrix); | 657 var projectionMatrix = new WebKitCSSMatrix().scale(1, -1, -1).translate( -1, -1, 0).multiply(this._projectionMatrix); |
| 667 var x0 = (event.clientX - this._canvasElement.totalOffsetLeft()) * windo w.devicePixelRatio; | 658 var x0 = (event.clientX - this._canvasElement.totalOffsetLeft()) * windo w.devicePixelRatio; |
| 668 var y0 = -(event.clientY - this._canvasElement.totalOffsetTop()) * windo w.devicePixelRatio; | 659 var y0 = -(event.clientY - this._canvasElement.totalOffsetTop()) * windo w.devicePixelRatio; |
| 669 | 660 |
| 670 /** | 661 /** |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 709 this._showSlowScrollRectsSetting = this._createVisibilitySetting("Slow s croll rects", "frameViewerShowSlowScrollRects", true, this._panelStatusBarElemen t); | 700 this._showSlowScrollRectsSetting = this._createVisibilitySetting("Slow s croll rects", "frameViewerShowSlowScrollRects", true, this._panelStatusBarElemen t); |
| 710 this._showPaintsSetting = this._createVisibilitySetting("Paints", "frame ViewerShowPaints", true, this._panelStatusBarElement); | 701 this._showPaintsSetting = this._createVisibilitySetting("Paints", "frame ViewerShowPaints", true, this._panelStatusBarElement); |
| 711 WebInspector.settings.frameViewerHideChromeWindow.addChangeListener(this ._update, this); | 702 WebInspector.settings.frameViewerHideChromeWindow.addChangeListener(this ._update, this); |
| 712 }, | 703 }, |
| 713 | 704 |
| 714 /** | 705 /** |
| 715 * @param {!Event} event | 706 * @param {!Event} event |
| 716 */ | 707 */ |
| 717 _onContextMenu: function(event) | 708 _onContextMenu: function(event) |
| 718 { | 709 { |
| 719 var activeObject = this._activeObjectFromEventPoint(event); | 710 var selection = this._selectionFromEventPoint(event); |
| 720 var node = activeObject && activeObject.layer && activeObject.layer.node ForSelfOrAncestor(); | 711 var node = selection && selection.layer && selection.layer.nodeForSelfOr Ancestor(); |
| 721 var contextMenu = new WebInspector.ContextMenu(event); | 712 var contextMenu = new WebInspector.ContextMenu(event); |
| 722 contextMenu.appendItem(WebInspector.UIString("Reset View"), this._transf ormController.resetAndNotify.bind(this._transformController), false); | 713 contextMenu.appendItem(WebInspector.UIString("Reset View"), this._transf ormController.resetAndNotify.bind(this._transformController), false); |
| 723 if (activeObject && activeObject.type() === WebInspector.Layers3DView.Ac tiveObject.Type.Tile) | 714 if (selection && selection.type() === WebInspector.Layers3DView.Selectio n.Type.Tile) |
| 724 contextMenu.appendItem(WebInspector.UIString("Show Paint Profiler"), this.dispatchEventToListeners.bind(this, WebInspector.Layers3DView.Events.Paint ProfilerRequested, activeObject.traceEvent), false); | 715 contextMenu.appendItem(WebInspector.UIString("Show Paint Profiler"), this.dispatchEventToListeners.bind(this, WebInspector.Layers3DView.Events.Paint ProfilerRequested, selection.traceEvent), false); |
| 725 if (node) | 716 if (node) |
| 726 contextMenu.appendApplicableItems(node); | 717 contextMenu.appendApplicableItems(node); |
| 727 contextMenu.show(); | 718 contextMenu.show(); |
| 728 }, | 719 }, |
| 729 | 720 |
| 730 /** | 721 /** |
| 731 * @param {!Event} event | 722 * @param {!Event} event |
| 732 */ | 723 */ |
| 733 _onMouseMove: function(event) | 724 _onMouseMove: function(event) |
| 734 { | 725 { |
| 735 if (event.which) | 726 if (event.which) |
| 736 return; | 727 return; |
| 737 this.dispatchEventToListeners(WebInspector.Layers3DView.Events.ObjectHov ered, this._activeObjectFromEventPoint(event)); | 728 this.dispatchEventToListeners(WebInspector.Layers3DView.Events.ObjectHov ered, this._selectionFromEventPoint(event)); |
| 738 }, | 729 }, |
| 739 | 730 |
| 740 /** | 731 /** |
| 741 * @param {!Event} event | 732 * @param {!Event} event |
| 742 */ | 733 */ |
| 743 _onMouseDown: function(event) | 734 _onMouseDown: function(event) |
| 744 { | 735 { |
| 745 this._mouseDownX = event.clientX; | 736 this._mouseDownX = event.clientX; |
| 746 this._mouseDownY = event.clientY; | 737 this._mouseDownY = event.clientY; |
| 747 }, | 738 }, |
| 748 | 739 |
| 749 /** | 740 /** |
| 750 * @param {!Event} event | 741 * @param {!Event} event |
| 751 */ | 742 */ |
| 752 _onMouseUp: function(event) | 743 _onMouseUp: function(event) |
| 753 { | 744 { |
| 754 const maxDistanceInPixels = 6; | 745 const maxDistanceInPixels = 6; |
| 755 if (this._mouseDownX && Math.abs(event.clientX - this._mouseDownX) < max DistanceInPixels && Math.abs(event.clientY - this._mouseDownY) < maxDistanceInPi xels) | 746 if (this._mouseDownX && Math.abs(event.clientX - this._mouseDownX) < max DistanceInPixels && Math.abs(event.clientY - this._mouseDownY) < maxDistanceInPi xels) |
| 756 this.dispatchEventToListeners(WebInspector.Layers3DView.Events.Objec tSelected, this._activeObjectFromEventPoint(event)); | 747 this.dispatchEventToListeners(WebInspector.Layers3DView.Events.Objec tSelected, this._selectionFromEventPoint(event)); |
| 757 delete this._mouseDownX; | 748 delete this._mouseDownX; |
| 758 delete this._mouseDownY; | 749 delete this._mouseDownY; |
| 759 }, | 750 }, |
| 760 | 751 |
| 761 /** | 752 /** |
| 762 * @param {!Event} event | 753 * @param {!Event} event |
| 763 */ | 754 */ |
| 764 _onDoubleClick: function(event) | 755 _onDoubleClick: function(event) |
| 765 { | 756 { |
| 766 var object = this._activeObjectFromEventPoint(event); | 757 var object = this._selectionFromEventPoint(event); |
| 767 if (object) { | 758 if (object) { |
| 768 if (object.type() == WebInspector.Layers3DView.ActiveObject.Type.Til e) | 759 if (object.type() == WebInspector.Layers3DView.Selection.Type.Tile) |
| 769 this.dispatchEventToListeners(WebInspector.Layers3DView.Events.P aintProfilerRequested, object.traceEvent); | 760 this.dispatchEventToListeners(WebInspector.Layers3DView.Events.P aintProfilerRequested, object.traceEvent); |
| 770 else if (object.layer) | 761 else if (object.layer) |
| 771 this.dispatchEventToListeners(WebInspector.Layers3DView.Events.L ayerSnapshotRequested, object.layer); | 762 this.dispatchEventToListeners(WebInspector.Layers3DView.Events.L ayerSnapshotRequested, object.layer); |
| 772 } | 763 } |
| 773 event.stopPropagation(); | 764 event.stopPropagation(); |
| 774 }, | 765 }, |
| 775 | 766 |
| 776 __proto__: WebInspector.VBox.prototype | 767 __proto__: WebInspector.VBox.prototype |
| 777 } | 768 } |
| 778 | 769 |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 938 this._gl.texParameteri(this._gl.TEXTURE_2D, this._gl.TEXTURE_WRAP_T, thi s._gl.CLAMP_TO_EDGE); | 929 this._gl.texParameteri(this._gl.TEXTURE_2D, this._gl.TEXTURE_WRAP_T, thi s._gl.CLAMP_TO_EDGE); |
| 939 this._gl.bindTexture(this._gl.TEXTURE_2D, null); | 930 this._gl.bindTexture(this._gl.TEXTURE_2D, null); |
| 940 return texture; | 931 return texture; |
| 941 }, | 932 }, |
| 942 | 933 |
| 943 __proto__: WebInspector.Object.prototype | 934 __proto__: WebInspector.Object.prototype |
| 944 } | 935 } |
| 945 | 936 |
| 946 /** | 937 /** |
| 947 * @constructor | 938 * @constructor |
| 948 * @param {?WebInspector.Layers3DView.ActiveObject} relatedObject | 939 * @param {?WebInspector.Layers3DView.Selection} relatedObject |
| 949 */ | 940 */ |
| 950 WebInspector.Layers3DView.Rectangle = function(relatedObject) | 941 WebInspector.Layers3DView.Rectangle = function(relatedObject) |
| 951 { | 942 { |
| 952 this.relatedObject = relatedObject; | 943 this.relatedObject = relatedObject; |
| 953 /** @type {number} */ | 944 /** @type {number} */ |
| 954 this.lineWidth = 1; | 945 this.lineWidth = 1; |
| 955 /** @type {?Array.<number>} */ | 946 /** @type {?Array.<number>} */ |
| 956 this.borderColor = null; | 947 this.borderColor = null; |
| 957 /** @type {?Array.<number>} */ | 948 /** @type {?Array.<number>} */ |
| 958 this.fillColor = null; | 949 this.fillColor = null; |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1050 var product = WebInspector.Geometry.scalarProduct(normal, WebInspect or.Geometry.crossProduct(tVects[i], tVects[(i + 1) % tVects.length])); | 1041 var product = WebInspector.Geometry.scalarProduct(normal, WebInspect or.Geometry.crossProduct(tVects[i], tVects[(i + 1) % tVects.length])); |
| 1051 if (product < 0) | 1042 if (product < 0) |
| 1052 return undefined; | 1043 return undefined; |
| 1053 } | 1044 } |
| 1054 return t; | 1045 return t; |
| 1055 } | 1046 } |
| 1056 } | 1047 } |
| 1057 | 1048 |
| 1058 /** | 1049 /** |
| 1059 * @constructor | 1050 * @constructor |
| 1051 * @param {!WebInspector.Layers3DView.Selection.Type} type | |
| 1060 */ | 1052 */ |
| 1061 WebInspector.Layers3DView.ActiveObject = function() | 1053 WebInspector.Layers3DView.Selection = function(type) |
| 1062 { | 1054 { |
| 1055 this._type = type; | |
| 1063 } | 1056 } |
| 1064 | 1057 |
| 1065 /** | 1058 /** |
| 1066 * @enum {string} | 1059 * @enum {string} |
| 1067 */ | 1060 */ |
| 1068 WebInspector.Layers3DView.ActiveObject.Type = { | 1061 WebInspector.Layers3DView.Selection.Type = { |
| 1069 Layer: "Layer", | 1062 Layer: "Layer", |
| 1070 ScrollRect: "ScrollRect", | 1063 ScrollRect: "ScrollRect", |
| 1071 Tile: "Tile", | 1064 Tile: "Tile", |
| 1072 }; | 1065 }; |
| 1073 | 1066 |
| 1074 /** | 1067 WebInspector.Layers3DView.Selection.prototype = { |
| 1075 * @param {!WebInspector.Layer} layer | |
| 1076 * @return {!WebInspector.Layers3DView.ActiveObject} | |
| 1077 */ | |
| 1078 WebInspector.Layers3DView.ActiveObject.createLayerActiveObject = function(layer) | |
| 1079 { | |
| 1080 var activeObject = new WebInspector.Layers3DView.ActiveObject(); | |
| 1081 activeObject._type = WebInspector.Layers3DView.ActiveObject.Type.Layer; | |
| 1082 activeObject.layer = layer; | |
| 1083 return activeObject; | |
| 1084 } | |
| 1085 | |
| 1086 /** | |
| 1087 * @param {!WebInspector.Layer} layer | |
| 1088 * @param {number} scrollRectIndex | |
| 1089 * @return {!WebInspector.Layers3DView.ActiveObject} | |
| 1090 */ | |
| 1091 WebInspector.Layers3DView.ActiveObject.createScrollRectActiveObject = function(l ayer, scrollRectIndex) | |
| 1092 { | |
| 1093 var activeObject = new WebInspector.Layers3DView.ActiveObject(); | |
| 1094 activeObject._type = WebInspector.Layers3DView.ActiveObject.Type.ScrollRect; | |
| 1095 activeObject.layer = layer; | |
| 1096 activeObject.scrollRectIndex = scrollRectIndex; | |
| 1097 return activeObject; | |
| 1098 } | |
| 1099 | |
| 1100 /** | |
| 1101 * @param {!WebInspector.Layer} layer | |
| 1102 * @param {!WebInspector.TracingModel.Event} traceEvent | |
| 1103 * @return {!WebInspector.Layers3DView.ActiveObject} | |
| 1104 */ | |
| 1105 WebInspector.Layers3DView.ActiveObject.createTileActiveObject = function(layer, traceEvent) | |
| 1106 { | |
| 1107 var activeObject = new WebInspector.Layers3DView.ActiveObject(); | |
| 1108 activeObject._type = WebInspector.Layers3DView.ActiveObject.Type.Tile; | |
| 1109 activeObject.layer = layer; | |
| 1110 activeObject.traceEvent = traceEvent; | |
| 1111 return activeObject; | |
| 1112 } | |
| 1113 | |
| 1114 WebInspector.Layers3DView.ActiveObject.prototype = { | |
| 1115 /** | 1068 /** |
| 1116 * @return {!WebInspector.Layers3DView.ActiveObject.Type} | 1069 * @return {!WebInspector.Layers3DView.Selection.Type} |
| 1117 */ | 1070 */ |
| 1118 type: function() | 1071 type: function() |
| 1119 { | 1072 { |
| 1120 return this._type; | 1073 return this._type; |
| 1074 }, | |
| 1075 | |
| 1076 /** | |
| 1077 * @param {!WebInspector.Layers3DView.Selection} other | |
| 1078 * @return {boolean} | |
| 1079 */ | |
| 1080 isEqual: function(other) | |
| 1081 { | |
| 1082 return false; | |
| 1121 } | 1083 } |
| 1122 }; | 1084 }; |
| 1123 | 1085 |
| 1124 /** | 1086 /** |
| 1125 * @constructor | 1087 * @constructor |
| 1088 * @extends {WebInspector.Layers3DView.Selection} | |
| 1089 */ | |
| 1090 WebInspector.Layers3DView.LayerSelection = function(layer) | |
| 1091 { | |
| 1092 WebInspector.Layers3DView.Selection.call(this, WebInspector.Layers3DView.Sel ection.Type.Layer); | |
| 1093 this.layer = layer; | |
| 1094 } | |
| 1095 | |
| 1096 WebInspector.Layers3DView.LayerSelection.prototype = { | |
| 1097 /** | |
| 1098 * @override | |
| 1099 * @param {!WebInspector.Layers3DView.Selection} other | |
| 1100 * @return {boolean} | |
| 1101 */ | |
| 1102 isEqual: function(other) | |
| 1103 { | |
| 1104 return other._type === WebInspector.Layers3DView.Selection.Type.Layer && other.layer.id() === this.layer.id(); | |
| 1105 }, | |
| 1106 | |
| 1107 __proto__: WebInspector.Layers3DView.Selection.prototype | |
| 1108 }; | |
| 1109 | |
| 1110 /** | |
| 1111 * @constructor | |
| 1112 * @extends {WebInspector.Layers3DView.Selection} | |
| 1113 */ | |
| 1114 WebInspector.Layers3DView.ScrollRectSelection = function(layer, scrollRectIndex) | |
| 1115 { | |
| 1116 WebInspector.Layers3DView.Selection.call(this, WebInspector.Layers3DView.Sel ection.Type.ScrollRect); | |
| 1117 this.layer = layer; | |
| 1118 this.scrollRectIndex = scrollRectIndex; | |
| 1119 } | |
| 1120 | |
| 1121 WebInspector.Layers3DView.ScrollRectSelection.prototype = { | |
| 1122 /** | |
| 1123 * @override | |
| 1124 * @param {!WebInspector.Layers3DView.Selection} other | |
| 1125 * @return {boolean} | |
| 1126 */ | |
| 1127 isEqual: function(other) | |
| 1128 { | |
| 1129 return other._type === WebInspector.Layers3DView.Selection.Type.ScrollRe ct && | |
| 1130 this.layer.id() === other.layer.id() && this.scrollRectIndex === oth er.scrollRectIndex | |
| 1131 }, | |
| 1132 | |
| 1133 __proto__: WebInspector.Layers3DView.Selection.prototype | |
| 1134 } | |
| 1135 | |
| 1136 /** | |
| 1137 * @constructor | |
| 1138 * @extends {WebInspector.Layers3DView.Selection} | |
| 1139 * @param {!WebInspector.Layer} layer | |
| 1140 * @param {!WebInspector.TracingModel.Event} traceEvent | |
| 1141 */ | |
| 1142 WebInspector.Layers3DView.TileSelection = function(layer, traceEvent) | |
| 1143 { | |
| 1144 WebInspector.Layers3DView.Selection.call(this, WebInspector.Layers3DView.Sel ection.Type.Tile); | |
| 1145 this.layer = layer; | |
| 1146 this.traceEvent = traceEvent; | |
| 1147 } | |
| 1148 | |
| 1149 WebInspector.Layers3DView.TileSelection.prototype = { | |
| 1150 /** | |
| 1151 * @override | |
| 1152 * @param {!WebInspector.Layers3DView.Selection} other | |
| 1153 * @return {boolean} | |
| 1154 */ | |
| 1155 isEqual: function(other) | |
| 1156 { | |
| 1157 return other._type === WebInspector.Layers3DView.Selection.Type.Tile | |
| 1158 && this.layer.id() === other.layer.id() && this.traceEvent === other .traceEvent; | |
| 1159 }, | |
| 1160 | |
| 1161 __proto__: WebInspector.Layers3DView.Selection.prototype | |
| 1162 } | |
| 1163 | |
| 1164 /** | |
| 1165 * @constructor | |
| 1126 * @param {!WebInspector.PaintProfilerSnapshot} snapshot | 1166 * @param {!WebInspector.PaintProfilerSnapshot} snapshot |
| 1127 * @param {!Array.<number>} rect | 1167 * @param {!Array.<number>} rect |
| 1128 * @param {!WebInspector.TracingModel.Event} traceEvent | 1168 * @param {!WebInspector.TracingModel.Event} traceEvent |
| 1129 */ | 1169 */ |
| 1130 WebInspector.LayerTextureManager.Tile = function(snapshot, rect, traceEvent) | 1170 WebInspector.LayerTextureManager.Tile = function(snapshot, rect, traceEvent) |
| 1131 { | 1171 { |
| 1132 this.snapshot = snapshot; | 1172 this.snapshot = snapshot; |
| 1133 this.rect = rect; | 1173 this.rect = rect; |
| 1134 this.traceEvent = traceEvent; | 1174 this.traceEvent = traceEvent; |
| 1135 this.scale = 0; | 1175 this.scale = 0; |
| 1136 /** @type {?WebGLTexture} */ | 1176 /** @type {?WebGLTexture} */ |
| 1137 this.texture = null; | 1177 this.texture = null; |
| 1138 } | 1178 } |
| OLD | NEW |