#include "cc/trees/damage_tracker.h"
#include "cc/trees/occlusion_tracker.h"
#include "third_party/skia/include/core/SkImageFilter.h"
-#include "ui/gfx/rect_conversions.h"
+#include "ui/gfx/geometry/rect_conversions.h"
#include "ui/gfx/transform.h"
namespace cc {
is_clipped_(false),
contributes_to_drawn_surface_(false),
draw_opacity_(1),
- nearest_occlusion_immune_ancestor_(NULL),
+ nearest_occlusion_immune_ancestor_(nullptr),
target_render_surface_layer_index_history_(0),
current_layer_index_history_(0) {
damage_tracker_ = DamageTracker::Create();
contributing_delegated_render_pass_layer_list_.clear();
}
-RenderPass::Id RenderSurfaceImpl::RenderPassId() {
+RenderPassId RenderSurfaceImpl::GetRenderPassId() {
int layer_id = owning_layer_->id();
int sub_id = 0;
DCHECK_GT(layer_id, 0);
- return RenderPass::Id(layer_id, sub_id);
+ return RenderPassId(layer_id, sub_id);
}
void RenderSurfaceImpl::AppendRenderPasses(RenderPassSink* pass_sink) {
}
scoped_ptr<RenderPass> pass = RenderPass::Create(layer_list_.size());
- pass->SetNew(RenderPassId(),
+ pass->SetNew(GetRenderPassId(),
content_rect_,
gfx::IntersectRects(content_rect_,
damage_tracker_->current_damage_rect()),
const OcclusionTracker<LayerImpl>& occlusion_tracker,
AppendQuadsData* append_quads_data,
bool for_replica,
- RenderPass::Id render_pass_id) {
+ RenderPassId render_pass_id) {
DCHECK(!for_replica || owning_layer_->has_replica());
const gfx::Transform& draw_transform =
LayerImpl* mask_layer = owning_layer_->mask_layer();
if (mask_layer &&
(!mask_layer->DrawsContent() || mask_layer->bounds().IsEmpty()))
- mask_layer = NULL;
+ mask_layer = nullptr;
if (!mask_layer && for_replica) {
mask_layer = owning_layer_->replica_layer()->mask_layer();
if (mask_layer &&
(!mask_layer->DrawsContent() || mask_layer->bounds().IsEmpty()))
- mask_layer = NULL;
+ mask_layer = nullptr;
}
- gfx::RectF mask_uv_rect(0.f, 0.f, 1.f, 1.f);
+ ResourceProvider::ResourceId mask_resource_id = 0;
+ gfx::Size mask_texture_size;
+ gfx::Vector2dF mask_uv_scale;
if (mask_layer) {
+ mask_layer->GetContentsResourceId(&mask_resource_id, &mask_texture_size);
gfx::Vector2dF owning_layer_draw_scale =
MathUtil::ComputeTransform2dScaleComponents(
owning_layer_->draw_transform(), 1.f);
owning_layer_->content_bounds(),
owning_layer_draw_scale.x(),
owning_layer_draw_scale.y());
-
- float uv_scale_x =
- content_rect_.width() / unclipped_mask_target_size.width();
- float uv_scale_y =
- content_rect_.height() / unclipped_mask_target_size.height();
-
- mask_uv_rect = gfx::RectF(
- uv_scale_x * content_rect_.x() / content_rect_.width(),
- uv_scale_y * content_rect_.y() / content_rect_.height(),
- uv_scale_x,
- uv_scale_y);
+ mask_uv_scale = gfx::Vector2dF(
+ content_rect_.width() / unclipped_mask_target_size.width(),
+ content_rect_.height() / unclipped_mask_target_size.height());
}
- ResourceProvider::ResourceId mask_resource_id =
- mask_layer ? mask_layer->ContentsResourceId() : 0;
-
DCHECK(owning_layer_->draw_properties().target_space_transform.IsScale2d());
gfx::Vector2dF owning_layer_to_target_scale =
owning_layer_->draw_properties().target_space_transform.Scale2d();
visible_content_rect,
render_pass_id,
mask_resource_id,
- mask_uv_rect,
+ mask_uv_scale,
+ mask_texture_size,
owning_layer_->filters(),
owning_layer_to_target_scale,
owning_layer_->background_filters());