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/layer_impl.h" | 5 #include "cc/layers/layer_impl.h" |
6 | 6 |
7 #include "base/json/json_reader.h" | 7 #include "base/json/json_reader.h" |
8 #include "base/strings/stringprintf.h" | 8 #include "base/strings/stringprintf.h" |
9 #include "base/trace_event/trace_event.h" | 9 #include "base/trace_event/trace_event.h" |
10 #include "base/trace_event/trace_event_argument.h" | 10 #include "base/trace_event/trace_event_argument.h" |
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
254 } | 254 } |
255 | 255 |
256 void LayerImpl::PopulateSharedQuadState(SharedQuadState* state) const { | 256 void LayerImpl::PopulateSharedQuadState(SharedQuadState* state) const { |
257 state->SetAll( | 257 state->SetAll( |
258 draw_properties_.target_space_transform, draw_properties_.content_bounds, | 258 draw_properties_.target_space_transform, draw_properties_.content_bounds, |
259 draw_properties_.visible_content_rect, draw_properties_.clip_rect, | 259 draw_properties_.visible_content_rect, draw_properties_.clip_rect, |
260 draw_properties_.is_clipped, draw_properties_.opacity, | 260 draw_properties_.is_clipped, draw_properties_.opacity, |
261 draw_properties_.blend_mode, sorting_context_id_); | 261 draw_properties_.blend_mode, sorting_context_id_); |
262 } | 262 } |
263 | 263 |
| 264 void LayerImpl::PopulateScaledSharedQuadState(SharedQuadState* state, |
| 265 float scale) const { |
| 266 gfx::Transform scaled_draw_transform = |
| 267 draw_properties_.target_space_transform; |
| 268 scaled_draw_transform.Scale(SK_MScalar1 / scale, SK_MScalar1 / scale); |
| 269 gfx::Size scaled_content_bounds = |
| 270 gfx::ToCeiledSize(gfx::ScaleSize(bounds(), scale)); |
| 271 gfx::Rect scaled_visible_content_rect = |
| 272 gfx::ScaleToEnclosingRect(visible_content_rect(), scale); |
| 273 scaled_visible_content_rect.Intersect(gfx::Rect(scaled_content_bounds)); |
| 274 |
| 275 state->SetAll(scaled_draw_transform, scaled_content_bounds, |
| 276 scaled_visible_content_rect, draw_properties().clip_rect, |
| 277 draw_properties().is_clipped, draw_properties().opacity, |
| 278 draw_properties().blend_mode, sorting_context_id_); |
| 279 } |
| 280 |
264 bool LayerImpl::WillDraw(DrawMode draw_mode, | 281 bool LayerImpl::WillDraw(DrawMode draw_mode, |
265 ResourceProvider* resource_provider) { | 282 ResourceProvider* resource_provider) { |
266 // WillDraw/DidDraw must be matched. | 283 // WillDraw/DidDraw must be matched. |
267 DCHECK_NE(DRAW_MODE_NONE, draw_mode); | 284 DCHECK_NE(DRAW_MODE_NONE, draw_mode); |
268 DCHECK_EQ(DRAW_MODE_NONE, current_draw_mode_); | 285 DCHECK_EQ(DRAW_MODE_NONE, current_draw_mode_); |
269 current_draw_mode_ = draw_mode; | 286 current_draw_mode_ = draw_mode; |
270 return true; | 287 return true; |
271 } | 288 } |
272 | 289 |
273 void LayerImpl::DidDraw(ResourceProvider* resource_provider) { | 290 void LayerImpl::DidDraw(ResourceProvider* resource_provider) { |
(...skipping 1282 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1556 SetNeedsPushProperties(); | 1573 SetNeedsPushProperties(); |
1557 layer_tree_impl()->set_needs_update_draw_properties(); | 1574 layer_tree_impl()->set_needs_update_draw_properties(); |
1558 if (should_have_render_surface) { | 1575 if (should_have_render_surface) { |
1559 render_surface_ = make_scoped_ptr(new RenderSurfaceImpl(this)); | 1576 render_surface_ = make_scoped_ptr(new RenderSurfaceImpl(this)); |
1560 return; | 1577 return; |
1561 } | 1578 } |
1562 render_surface_.reset(); | 1579 render_surface_.reset(); |
1563 } | 1580 } |
1564 | 1581 |
1565 } // namespace cc | 1582 } // namespace cc |
OLD | NEW |