Index: chrome/browser/resources/gpu_internals/fast_rect_renderer.js |
diff --git a/chrome/browser/resources/gpu_internals/fast_rect_renderer.js b/chrome/browser/resources/gpu_internals/fast_rect_renderer.js |
deleted file mode 100644 |
index ef80326b3d2bf166a576aa3a6662c8a00836cf72..0000000000000000000000000000000000000000 |
--- a/chrome/browser/resources/gpu_internals/fast_rect_renderer.js |
+++ /dev/null |
@@ -1,120 +0,0 @@ |
-// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
- |
-/** |
- * @fileoverview Provides a mechanism for drawing massive numbers of |
- * colored rectangles into a canvas in an efficient manner, provided |
- * they are drawn left to right with fixed y and height throughout. |
- * |
- * The basic idea used here is to fuse subpixel rectangles together so that |
- * we never issue a canvas fillRect for them. It turns out Javascript can |
- * do this quite efficiently, compared to asking Canvas2D to do the same. |
- * |
- * A few extra things are done by this class in the name of speed: |
- * - Viewport culling: off-viewport rectangles are discarded. |
- * |
- * - The actual discarding operation is done in world space, |
- * e.g. pre-transform. |
- * |
- * - Rather than expending compute cycles trying to figure out an average |
- * color for fused rectangles from css strings, you instead draw using |
- * palletized colors. The fused rect is the max pallete index encountered. |
- * |
- * Make sure to flush the trackRenderer before finishing drawing in order |
- * to commit any queued drawing operations. |
- */ |
-cr.define('gpu', function() { |
- |
- /** |
- * Creates a fast rect renderer with a specific set of culling rules |
- * and color pallette. |
- * @param {GraphicsContext2D} ctx Canvas2D drawing context. |
- * @param {number} vpLeft The leftmost visible part of the drawing viewport. |
- * @param {number} minRectSize Only rectangles with width < minRectSize are |
- * considered for merging. |
- * @param {number} maxMergeDist Controls how many successive small rectangles |
- * can be merged together before issuing a rectangle. |
- * @param {number} vpRight The rightmost visible part of the viewport. |
- * @param {Array} pallette The color pallete for drawing. Pallette slots |
- * should map to valid Canvas fillStyle strings. |
- * |
- * @constructor |
- */ |
- function FastRectRenderer(ctx, vpLeft, minRectSize, maxMergeDist, vpRight, |
- pallette) { |
- this.ctx_ = ctx; |
- this.vpLeft_ = vpLeft; |
- this.minRectSize_ = minRectSize; |
- this.maxMergeDist_ = maxMergeDist; |
- this.vpRight_ = vpRight; |
- this.pallette_ = pallette; |
- } |
- |
- FastRectRenderer.prototype = { |
- y_: 0, |
- h_: 0, |
- merging_: false, |
- mergeStartX_: 0, |
- mergeCurRight_: 0, |
- |
- /** |
- * Changes the y position and height for subsequent fillRect |
- * calls. x and width are specifieid on the fillRect calls. |
- */ |
- setYandH: function(y, h) { |
- this.flush(); |
- this.y_ = y; |
- this.h_ = h; |
- }, |
- |
- /** |
- * Fills rectangle at the specified location, if visible. If the |
- * rectangle is subpixel, it will be merged with adjacent rectangles. |
- * The drawing operation may not take effect until flush is called. |
- * @param {number} colorId The color of this rectangle, as an index |
- * in the renderer's color pallete. |
- */ |
- fillRect: function(x, w, colorId) { |
- var r = x + w; |
- if (r < this.vpLeft_ || x > this.vpRight_) return; |
- if (w < this.minRectSize_) { |
- if (r - this.mergeStartX_ > this.maxMergeDist_) |
- this.flush(); |
- if (!this.merging_) { |
- this.merging_ = true; |
- this.mergeStartX_ = x; |
- this.mergeCurRight_ = r; |
- this.mergedColorId = colorId; |
- } else { |
- this.mergeCurRight_ = r; |
- this.mergedColorId = Math.max(this.mergedColorId, colorId); |
- } |
- } else { |
- if (this.merging_) |
- this.flush(); |
- this.ctx_.fillStyle = this.pallette_[colorId]; |
- this.ctx_.fillRect(x, this.y_, w, this.h_); |
- } |
- }, |
- |
- /** |
- * Commits any pending fillRect operations to the underlying graphics |
- * context. |
- */ |
- flush: function() { |
- if (this.merging_) { |
- this.ctx_.fillStyle = this.pallette_[this.mergedColorId]; |
- this.ctx_.fillRect(this.mergeStartX_, this.y_, |
- this.mergeCurRight_ - this.mergeStartX_, this.h_); |
- this.merging_ = false; |
- } |
- } |
- }; |
- |
- return { |
- FastRectRenderer: FastRectRenderer |
- }; |
- |
-}); |