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

Unified Diff: cc/resources/tile.cc

Issue 183663003: cc: Add tiling raster tile iterators. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 10 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: cc/resources/tile.cc
diff --git a/cc/resources/tile.cc b/cc/resources/tile.cc
index 7b1f00aee760db3b0446bc2f3b45690059078ccd..65a17387dd3edeaf5e741053a11bbe9396bd14ff 100644
--- a/cc/resources/tile.cc
+++ b/cc/resources/tile.cc
@@ -4,6 +4,8 @@
#include "cc/resources/tile.h"
+#include <algorithm>
+
#include "cc/base/math_util.h"
#include "cc/debug/traced_value.h"
#include "cc/resources/tile_manager.h"
@@ -81,4 +83,27 @@ size_t Tile::GPUMemoryUsageInBytes() const {
return total_size;
}
+RasterMode Tile::DetermineRasterModeForTree(WhichTree tree) const {
+ return DetermineRasterModeForResolution(priority(tree).resolution);
+}
+
+RasterMode Tile::DetermineOverallRasterMode() const {
+ return DetermineRasterModeForResolution(managed_state_.resolution);
+}
+
+RasterMode Tile::DetermineRasterModeForResolution(
+ TileResolution resolution) const {
+ RasterMode current_mode = managed_state_.raster_mode;
+ RasterMode raster_mode = HIGH_QUALITY_RASTER_MODE;
+ if (resolution == LOW_RESOLUTION)
+ raster_mode = LOW_QUALITY_RASTER_MODE;
+ else if (can_use_lcd_text())
+ raster_mode = HIGH_QUALITY_RASTER_MODE;
+ else if (managed_state_.tile_versions[current_mode].has_text_ ||
+ !managed_state_.tile_versions[current_mode].IsReadyToDraw())
+ raster_mode = HIGH_QUALITY_NO_LCD_RASTER_MODE;
+
+ return std::min(raster_mode, current_mode);
+}
+
} // namespace cc

Powered by Google App Engine
This is Rietveld 408576698