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

Side by Side Diff: cc/trees/layer_tree_host_common.cc

Issue 662473003: cc: Replace > > with >> (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: angles: . Created 6 years, 2 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 unified diff | Download patch
« no previous file with comments | « cc/test/ordered_texture_map.h ('k') | cc/trees/layer_tree_host_common_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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/trees/layer_tree_host_common.h" 5 #include "cc/trees/layer_tree_host_common.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/debug/trace_event.h" 9 #include "base/debug/trace_event.h"
10 #include "cc/base/math_util.h" 10 #include "cc/base/math_util.h"
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 // surface so that we can DCHECK that the surface's draw transform is simply 235 // surface so that we can DCHECK that the surface's draw transform is simply
236 // a translation when |render_target| reports that it has no unclipped 236 // a translation when |render_target| reports that it has no unclipped
237 // descendants). 237 // descendants).
238 LayerType* render_target; 238 LayerType* render_target;
239 }; 239 };
240 240
241 template <typename LayerType> 241 template <typename LayerType>
242 void UpdateAccumulatedSurfaceState( 242 void UpdateAccumulatedSurfaceState(
243 LayerType* layer, 243 LayerType* layer,
244 const gfx::Rect& drawable_content_rect, 244 const gfx::Rect& drawable_content_rect,
245 std::vector<AccumulatedSurfaceState<LayerType> >* 245 std::vector<AccumulatedSurfaceState<LayerType>>*
246 accumulated_surface_state) { 246 accumulated_surface_state) {
247 if (IsRootLayer(layer)) 247 if (IsRootLayer(layer))
248 return; 248 return;
249 249
250 // We will apply our drawable content rect to the accumulated rects for all 250 // We will apply our drawable content rect to the accumulated rects for all
251 // surfaces between us and |render_target| (inclusive). This is either our 251 // surfaces between us and |render_target| (inclusive). This is either our
252 // clip parent's target if we are a clip child, or else simply our parent's 252 // clip parent's target if we are a clip child, or else simply our parent's
253 // target. We use our parent's target because we're either the owner of a 253 // target. We use our parent's target because we're either the owner of a
254 // render surface and we'll want to add our rect to our *surface's* target, or 254 // render surface and we'll want to add our rect to our *surface's* target, or
255 // we're not and our target is the same as our parent's. In both cases, the 255 // we're not and our target is the same as our parent's. In both cases, the
(...skipping 21 matching lines...) Expand all
277 *layer, 277 *layer,
278 clip_rect, 278 clip_rect,
279 TranslateRectDirectionToDescendant); 279 TranslateRectDirectionToDescendant);
280 } 280 }
281 target_rect.Intersect(clip_rect); 281 target_rect.Intersect(clip_rect);
282 } 282 }
283 283
284 // We must have at least one entry in the vector for the root. 284 // We must have at least one entry in the vector for the root.
285 DCHECK_LT(0ul, accumulated_surface_state->size()); 285 DCHECK_LT(0ul, accumulated_surface_state->size());
286 286
287 typedef typename std::vector<AccumulatedSurfaceState<LayerType> > 287 typedef typename std::vector<AccumulatedSurfaceState<LayerType>>
288 AccumulatedSurfaceStateVector; 288 AccumulatedSurfaceStateVector;
289 typedef typename AccumulatedSurfaceStateVector::reverse_iterator 289 typedef typename AccumulatedSurfaceStateVector::reverse_iterator
290 AccumulatedSurfaceStateIterator; 290 AccumulatedSurfaceStateIterator;
291 AccumulatedSurfaceStateIterator current_state = 291 AccumulatedSurfaceStateIterator current_state =
292 accumulated_surface_state->rbegin(); 292 accumulated_surface_state->rbegin();
293 293
294 // Add this rect to the accumulated content rect for all surfaces until we 294 // Add this rect to the accumulated content rect for all surfaces until we
295 // reach the target surface. 295 // reach the target surface.
296 bool found_render_target = false; 296 bool found_render_target = false;
297 for (; current_state != accumulated_surface_state->rend(); ++current_state) { 297 for (; current_state != accumulated_surface_state->rend(); ++current_state) {
(...skipping 1146 matching lines...) Expand 10 before | Expand all | Expand 10 after
1444 1444
1445 // Recursively walks the layer tree starting at the given node and computes all 1445 // Recursively walks the layer tree starting at the given node and computes all
1446 // the necessary transformations, clip rects, render surfaces, etc. 1446 // the necessary transformations, clip rects, render surfaces, etc.
1447 template <typename LayerType> 1447 template <typename LayerType>
1448 static void CalculateDrawPropertiesInternal( 1448 static void CalculateDrawPropertiesInternal(
1449 LayerType* layer, 1449 LayerType* layer,
1450 const SubtreeGlobals<LayerType>& globals, 1450 const SubtreeGlobals<LayerType>& globals,
1451 const DataForRecursion<LayerType>& data_from_ancestor, 1451 const DataForRecursion<LayerType>& data_from_ancestor,
1452 typename LayerType::RenderSurfaceListType* render_surface_layer_list, 1452 typename LayerType::RenderSurfaceListType* render_surface_layer_list,
1453 typename LayerType::LayerListType* layer_list, 1453 typename LayerType::LayerListType* layer_list,
1454 std::vector<AccumulatedSurfaceState<LayerType> >* accumulated_surface_state, 1454 std::vector<AccumulatedSurfaceState<LayerType>>* accumulated_surface_state,
1455 int current_render_surface_layer_list_id) { 1455 int current_render_surface_layer_list_id) {
1456 // This function computes the new matrix transformations recursively for this 1456 // This function computes the new matrix transformations recursively for this
1457 // layer and all its descendants. It also computes the appropriate render 1457 // layer and all its descendants. It also computes the appropriate render
1458 // surfaces. 1458 // surfaces.
1459 // Some important points to remember: 1459 // Some important points to remember:
1460 // 1460 //
1461 // 0. Here, transforms are notated in Matrix x Vector order, and in words we 1461 // 0. Here, transforms are notated in Matrix x Vector order, and in words we
1462 // describe what the transform does from left to right. 1462 // describe what the transform does from left to right.
1463 // 1463 //
1464 // 1. In our terminology, the "layer origin" refers to the top-left corner of 1464 // 1. In our terminology, the "layer origin" refers to the top-left corner of
(...skipping 926 matching lines...) Expand 10 before | Expand all | Expand 10 after
2391 2391
2392 void LayerTreeHostCommon::CalculateDrawProperties( 2392 void LayerTreeHostCommon::CalculateDrawProperties(
2393 CalcDrawPropsMainInputs* inputs) { 2393 CalcDrawPropsMainInputs* inputs) {
2394 LayerList dummy_layer_list; 2394 LayerList dummy_layer_list;
2395 SubtreeGlobals<Layer> globals; 2395 SubtreeGlobals<Layer> globals;
2396 DataForRecursion<Layer> data_for_recursion; 2396 DataForRecursion<Layer> data_for_recursion;
2397 ProcessCalcDrawPropsInputs(*inputs, &globals, &data_for_recursion); 2397 ProcessCalcDrawPropsInputs(*inputs, &globals, &data_for_recursion);
2398 2398
2399 PreCalculateMetaInformationRecursiveData recursive_data; 2399 PreCalculateMetaInformationRecursiveData recursive_data;
2400 PreCalculateMetaInformation(inputs->root_layer, &recursive_data); 2400 PreCalculateMetaInformation(inputs->root_layer, &recursive_data);
2401 std::vector<AccumulatedSurfaceState<Layer> > accumulated_surface_state; 2401 std::vector<AccumulatedSurfaceState<Layer>> accumulated_surface_state;
2402 CalculateDrawPropertiesInternal<Layer>( 2402 CalculateDrawPropertiesInternal<Layer>(
2403 inputs->root_layer, 2403 inputs->root_layer,
2404 globals, 2404 globals,
2405 data_for_recursion, 2405 data_for_recursion,
2406 inputs->render_surface_layer_list, 2406 inputs->render_surface_layer_list,
2407 &dummy_layer_list, 2407 &dummy_layer_list,
2408 &accumulated_surface_state, 2408 &accumulated_surface_state,
2409 inputs->current_render_surface_layer_list_id); 2409 inputs->current_render_surface_layer_list_id);
2410 2410
2411 // The dummy layer list should not have been used. 2411 // The dummy layer list should not have been used.
2412 DCHECK_EQ(0u, dummy_layer_list.size()); 2412 DCHECK_EQ(0u, dummy_layer_list.size());
2413 // A root layer render_surface should always exist after 2413 // A root layer render_surface should always exist after
2414 // CalculateDrawProperties. 2414 // CalculateDrawProperties.
2415 DCHECK(inputs->root_layer->render_surface()); 2415 DCHECK(inputs->root_layer->render_surface());
2416 } 2416 }
2417 2417
2418 void LayerTreeHostCommon::CalculateDrawProperties( 2418 void LayerTreeHostCommon::CalculateDrawProperties(
2419 CalcDrawPropsImplInputs* inputs) { 2419 CalcDrawPropsImplInputs* inputs) {
2420 LayerImplList dummy_layer_list; 2420 LayerImplList dummy_layer_list;
2421 SubtreeGlobals<LayerImpl> globals; 2421 SubtreeGlobals<LayerImpl> globals;
2422 DataForRecursion<LayerImpl> data_for_recursion; 2422 DataForRecursion<LayerImpl> data_for_recursion;
2423 ProcessCalcDrawPropsInputs(*inputs, &globals, &data_for_recursion); 2423 ProcessCalcDrawPropsInputs(*inputs, &globals, &data_for_recursion);
2424 2424
2425 LayerSorter layer_sorter; 2425 LayerSorter layer_sorter;
2426 globals.layer_sorter = &layer_sorter; 2426 globals.layer_sorter = &layer_sorter;
2427 2427
2428 PreCalculateMetaInformationRecursiveData recursive_data; 2428 PreCalculateMetaInformationRecursiveData recursive_data;
2429 PreCalculateMetaInformation(inputs->root_layer, &recursive_data); 2429 PreCalculateMetaInformation(inputs->root_layer, &recursive_data);
2430 std::vector<AccumulatedSurfaceState<LayerImpl> > 2430 std::vector<AccumulatedSurfaceState<LayerImpl>> accumulated_surface_state;
2431 accumulated_surface_state;
2432 CalculateDrawPropertiesInternal<LayerImpl>( 2431 CalculateDrawPropertiesInternal<LayerImpl>(
2433 inputs->root_layer, 2432 inputs->root_layer,
2434 globals, 2433 globals,
2435 data_for_recursion, 2434 data_for_recursion,
2436 inputs->render_surface_layer_list, 2435 inputs->render_surface_layer_list,
2437 &dummy_layer_list, 2436 &dummy_layer_list,
2438 &accumulated_surface_state, 2437 &accumulated_surface_state,
2439 inputs->current_render_surface_layer_list_id); 2438 inputs->current_render_surface_layer_list_id);
2440 2439
2441 // The dummy layer list should not have been used. 2440 // The dummy layer list should not have been used.
2442 DCHECK_EQ(0u, dummy_layer_list.size()); 2441 DCHECK_EQ(0u, dummy_layer_list.size());
2443 // A root layer render_surface should always exist after 2442 // A root layer render_surface should always exist after
2444 // CalculateDrawProperties. 2443 // CalculateDrawProperties.
2445 DCHECK(inputs->root_layer->render_surface()); 2444 DCHECK(inputs->root_layer->render_surface());
2446 } 2445 }
2447 2446
2448 } // namespace cc 2447 } // namespace cc
OLDNEW
« no previous file with comments | « cc/test/ordered_texture_map.h ('k') | cc/trees/layer_tree_host_common_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698