| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/layers/delegated_renderer_layer_impl.h" | 5 #include "cc/layers/delegated_renderer_layer_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 148 gfx::Size frame_size = new_root_pass->output_rect.size(); | 148 gfx::Size frame_size = new_root_pass->output_rect.size(); |
| 149 gfx::RectF damage_in_layer = MathUtil::MapClippedRect( | 149 gfx::RectF damage_in_layer = MathUtil::MapClippedRect( |
| 150 DelegatedFrameToLayerSpaceTransform(frame_size), damage_in_frame); | 150 DelegatedFrameToLayerSpaceTransform(frame_size), damage_in_frame); |
| 151 SetUpdateRect(gfx::IntersectRects( | 151 SetUpdateRect(gfx::IntersectRects( |
| 152 gfx::UnionRects(update_rect(), damage_in_layer), gfx::Rect(bounds()))); | 152 gfx::UnionRects(update_rect(), damage_in_layer), gfx::Rect(bounds()))); |
| 153 | 153 |
| 154 SetRenderPasses(&render_pass_list); | 154 SetRenderPasses(&render_pass_list); |
| 155 have_render_passes_to_push_ = true; | 155 have_render_passes_to_push_ = true; |
| 156 } | 156 } |
| 157 | 157 |
| 158 void DelegatedRendererLayerImpl::SetDisplaySize(const gfx::Size& size) { | 158 void DelegatedRendererLayerImpl::SetDisplaySize(gfx::Size size) { |
| 159 if (display_size_ == size) | 159 if (display_size_ == size) |
| 160 return; | 160 return; |
| 161 display_size_ = size; | 161 display_size_ = size; |
| 162 NoteLayerPropertyChanged(); | 162 NoteLayerPropertyChanged(); |
| 163 } | 163 } |
| 164 | 164 |
| 165 void DelegatedRendererLayerImpl::SetRenderPasses( | 165 void DelegatedRendererLayerImpl::SetRenderPasses( |
| 166 ScopedPtrVector<RenderPass>* render_passes_in_draw_order) { | 166 ScopedPtrVector<RenderPass>* render_passes_in_draw_order) { |
| 167 ClearRenderPasses(); | 167 ClearRenderPasses(); |
| 168 | 168 |
| (...skipping 21 matching lines...) Expand all Loading... |
| 190 return DelegatedRendererLayerImpl::Create( | 190 return DelegatedRendererLayerImpl::Create( |
| 191 tree_impl, id()).PassAs<LayerImpl>(); | 191 tree_impl, id()).PassAs<LayerImpl>(); |
| 192 } | 192 } |
| 193 | 193 |
| 194 void DelegatedRendererLayerImpl::ReleaseResources() { | 194 void DelegatedRendererLayerImpl::ReleaseResources() { |
| 195 ClearRenderPasses(); | 195 ClearRenderPasses(); |
| 196 ClearChildId(); | 196 ClearChildId(); |
| 197 } | 197 } |
| 198 | 198 |
| 199 gfx::Transform DelegatedRendererLayerImpl::DelegatedFrameToLayerSpaceTransform( | 199 gfx::Transform DelegatedRendererLayerImpl::DelegatedFrameToLayerSpaceTransform( |
| 200 const gfx::Size& frame_size) const { | 200 gfx::Size frame_size) const { |
| 201 gfx::Size display_size = display_size_.IsEmpty() ? bounds() : display_size_; | 201 gfx::Size display_size = display_size_.IsEmpty() ? bounds() : display_size_; |
| 202 | 202 |
| 203 gfx::Transform delegated_frame_to_layer_space_transform; | 203 gfx::Transform delegated_frame_to_layer_space_transform; |
| 204 delegated_frame_to_layer_space_transform.Scale( | 204 delegated_frame_to_layer_space_transform.Scale( |
| 205 static_cast<double>(display_size.width()) / frame_size.width(), | 205 static_cast<double>(display_size.width()) / frame_size.width(), |
| 206 static_cast<double>(display_size.height()) / frame_size.height()); | 206 static_cast<double>(display_size.height()) / frame_size.height()); |
| 207 return delegated_frame_to_layer_space_transform; | 207 return delegated_frame_to_layer_space_transform; |
| 208 } | 208 } |
| 209 | 209 |
| 210 static inline int IndexToId(int index) { return index + 1; } | 210 static inline int IndexToId(int index) { return index + 1; } |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 387 shared_quad_state, right, colors[i % kNumColors], false); | 387 shared_quad_state, right, colors[i % kNumColors], false); |
| 388 quad_sink->Append(right_quad.PassAs<DrawQuad>(), append_quads_data); | 388 quad_sink->Append(right_quad.PassAs<DrawQuad>(), append_quads_data); |
| 389 } | 389 } |
| 390 } | 390 } |
| 391 } | 391 } |
| 392 | 392 |
| 393 void DelegatedRendererLayerImpl::AppendRenderPassQuads( | 393 void DelegatedRendererLayerImpl::AppendRenderPassQuads( |
| 394 QuadSink* quad_sink, | 394 QuadSink* quad_sink, |
| 395 AppendQuadsData* append_quads_data, | 395 AppendQuadsData* append_quads_data, |
| 396 const RenderPass* delegated_render_pass, | 396 const RenderPass* delegated_render_pass, |
| 397 const gfx::Size& frame_size) const { | 397 gfx::Size frame_size) const { |
| 398 | 398 |
| 399 const SharedQuadState* delegated_shared_quad_state = NULL; | 399 const SharedQuadState* delegated_shared_quad_state = NULL; |
| 400 SharedQuadState* output_shared_quad_state = NULL; | 400 SharedQuadState* output_shared_quad_state = NULL; |
| 401 | 401 |
| 402 for (size_t i = 0; i < delegated_render_pass->quad_list.size(); ++i) { | 402 for (size_t i = 0; i < delegated_render_pass->quad_list.size(); ++i) { |
| 403 const DrawQuad* delegated_quad = delegated_render_pass->quad_list[i]; | 403 const DrawQuad* delegated_quad = delegated_render_pass->quad_list[i]; |
| 404 | 404 |
| 405 if (delegated_quad->shared_quad_state != delegated_shared_quad_state) { | 405 if (delegated_quad->shared_quad_state != delegated_shared_quad_state) { |
| 406 delegated_shared_quad_state = delegated_quad->shared_quad_state; | 406 delegated_shared_quad_state = delegated_quad->shared_quad_state; |
| 407 output_shared_quad_state = quad_sink->UseSharedQuadState( | 407 output_shared_quad_state = quad_sink->UseSharedQuadState( |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 482 if (own_child_id_) { | 482 if (own_child_id_) { |
| 483 ResourceProvider* provider = layer_tree_impl()->resource_provider(); | 483 ResourceProvider* provider = layer_tree_impl()->resource_provider(); |
| 484 provider->DestroyChild(child_id_); | 484 provider->DestroyChild(child_id_); |
| 485 } | 485 } |
| 486 | 486 |
| 487 resources_.clear(); | 487 resources_.clear(); |
| 488 child_id_ = 0; | 488 child_id_ = 0; |
| 489 } | 489 } |
| 490 | 490 |
| 491 } // namespace cc | 491 } // namespace cc |
| OLD | NEW |