#include "base/debug/trace_event_argument.h"
#include "base/strings/stringprintf.h"
#include "cc/base/math_util.h"
+#include "cc/base/simple_enclosed_region.h"
#include "cc/debug/debug_colors.h"
#include "cc/layers/append_quads_data.h"
#include "cc/quads/checkerboard_draw_quad.h"
tiled_layer->PushTileProperties(i,
j,
tile->resource_id(),
- tile->opaque_rect(),
tile->contents_swizzled());
}
}
if (skips_draw_)
return;
+ Occlusion occlusion =
+ occlusion_tracker.GetCurrentOcclusionForLayer(draw_transform());
for (int j = top; j <= bottom; ++j) {
for (int i = left; i <= right; ++i) {
DrawableTile* tile = TileAt(i, j);
continue;
gfx::Rect visible_tile_rect =
- occlusion_tracker.UnoccludedContentRect(tile_rect, draw_transform());
+ occlusion.GetUnoccludedContentRect(tile_rect);
if (visible_tile_rect.IsEmpty())
continue;
continue;
}
- gfx::Rect tile_opaque_rect =
- contents_opaque() ? tile_rect : gfx::IntersectRects(
- tile->opaque_rect(), tile_rect);
+ gfx::Rect tile_opaque_rect = contents_opaque() ? tile_rect : gfx::Rect();
// Keep track of how the top left has moved, so the texture can be
// offset the same amount.
int i,
int j,
ResourceProvider::ResourceId resource_id,
- const gfx::Rect& opaque_rect,
bool contents_swizzled) {
DrawableTile* tile = TileAt(i, j);
if (!tile)
tile = CreateTile(i, j);
tile->set_resource_id(resource_id);
- tile->set_opaque_rect(opaque_rect);
tile->set_contents_swizzled(contents_swizzled);
}
if (!tile)
tile = CreateTile(i, j);
tile->set_resource_id(0);
- tile->set_opaque_rect(gfx::Rect());
tile->set_contents_swizzled(false);
}
-Region TiledLayerImpl::VisibleContentOpaqueRegion() const {
+SimpleEnclosedRegion TiledLayerImpl::VisibleContentOpaqueRegion() const {
if (skips_draw_)
- return Region();
- if (contents_opaque())
- return visible_content_rect();
- return tiler_->OpaqueRegionInContentRect(visible_content_rect());
+ return SimpleEnclosedRegion();
+ return LayerImpl::VisibleContentOpaqueRegion();
}
void TiledLayerImpl::ReleaseResources() {