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

Side by Side Diff: cc/layers/layer_impl.h

Issue 465853004: Moving RenderSurface creation outside of CalcDrawProps (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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
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 #ifndef CC_LAYERS_LAYER_IMPL_H_ 5 #ifndef CC_LAYERS_LAYER_IMPL_H_
6 #define CC_LAYERS_LAYER_IMPL_H_ 6 #define CC_LAYERS_LAYER_IMPL_H_
7 7
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 10
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 virtual ScrollbarLayerImplBase* ToScrollbarLayer(); 211 virtual ScrollbarLayerImplBase* ToScrollbarLayer();
212 212
213 // Returns true if this layer has content to draw. 213 // Returns true if this layer has content to draw.
214 void SetDrawsContent(bool draws_content); 214 void SetDrawsContent(bool draws_content);
215 bool DrawsContent() const { return draws_content_; } 215 bool DrawsContent() const { return draws_content_; }
216 216
217 int NumDescendantsThatDrawContent() const; 217 int NumDescendantsThatDrawContent() const;
218 void SetHideLayerAndSubtree(bool hide); 218 void SetHideLayerAndSubtree(bool hide);
219 bool hide_layer_and_subtree() const { return hide_layer_and_subtree_; } 219 bool hide_layer_and_subtree() const { return hide_layer_and_subtree_; }
220 220
221 bool force_render_surface() const { return force_render_surface_; }
222 void SetForceRenderSurface(bool force) { force_render_surface_ = force; }
223
224 void SetTransformOrigin(const gfx::Point3F& transform_origin); 221 void SetTransformOrigin(const gfx::Point3F& transform_origin);
225 gfx::Point3F transform_origin() const { return transform_origin_; } 222 gfx::Point3F transform_origin() const { return transform_origin_; }
226 223
227 void SetBackgroundColor(SkColor background_color); 224 void SetBackgroundColor(SkColor background_color);
228 SkColor background_color() const { return background_color_; } 225 SkColor background_color() const { return background_color_; }
229 // If contents_opaque(), return an opaque color else return a 226 // If contents_opaque(), return an opaque color else return a
230 // non-opaque color. Tries to return background_color(), if possible. 227 // non-opaque color. Tries to return background_color(), if possible.
231 SkColor SafeOpaqueBackgroundColor() const; 228 SkColor SafeOpaqueBackgroundColor() const;
232 229
233 void SetFilters(const FilterOperations& filters); 230 void SetFilters(const FilterOperations& filters);
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 } 289 }
293 bool use_parent_backface_visibility() const { 290 bool use_parent_backface_visibility() const {
294 return use_parent_backface_visibility_; 291 return use_parent_backface_visibility_;
295 } 292 }
296 293
297 bool ShowDebugBorders() const; 294 bool ShowDebugBorders() const;
298 295
299 // These invalidate the host's render surface layer list. The caller 296 // These invalidate the host's render surface layer list. The caller
300 // is responsible for calling set_needs_update_draw_properties on the tree 297 // is responsible for calling set_needs_update_draw_properties on the tree
301 // so that its list can be recreated. 298 // so that its list can be recreated.
302 void CreateRenderSurface();
303 void ClearRenderSurface();
304 void ClearRenderSurfaceLayerList(); 299 void ClearRenderSurfaceLayerList();
300 void SetHasRenderSurface(bool has_render_surface);
301
302 RenderSurfaceImpl* render_surface() const { return render_surface_.get(); }
305 303
306 DrawProperties<LayerImpl>& draw_properties() { 304 DrawProperties<LayerImpl>& draw_properties() {
307 return draw_properties_; 305 return draw_properties_;
308 } 306 }
309 const DrawProperties<LayerImpl>& draw_properties() const { 307 const DrawProperties<LayerImpl>& draw_properties() const {
310 return draw_properties_; 308 return draw_properties_;
311 } 309 }
312 310
313 // The following are shortcut accessors to get various information from 311 // The following are shortcut accessors to get various information from
314 // draw_properties_ 312 // draw_properties_
(...skipping 28 matching lines...) Expand all
343 LayerImpl* render_target() { 341 LayerImpl* render_target() {
344 DCHECK(!draw_properties_.render_target || 342 DCHECK(!draw_properties_.render_target ||
345 draw_properties_.render_target->render_surface()); 343 draw_properties_.render_target->render_surface());
346 return draw_properties_.render_target; 344 return draw_properties_.render_target;
347 } 345 }
348 const LayerImpl* render_target() const { 346 const LayerImpl* render_target() const {
349 DCHECK(!draw_properties_.render_target || 347 DCHECK(!draw_properties_.render_target ||
350 draw_properties_.render_target->render_surface()); 348 draw_properties_.render_target->render_surface());
351 return draw_properties_.render_target; 349 return draw_properties_.render_target;
352 } 350 }
353 RenderSurfaceImpl* render_surface() const { 351
354 return draw_properties_.render_surface.get();
355 }
356 int num_unclipped_descendants() const { 352 int num_unclipped_descendants() const {
357 return draw_properties_.num_unclipped_descendants; 353 return draw_properties_.num_unclipped_descendants;
358 } 354 }
359 355
360 // The client should be responsible for setting bounds, content bounds and 356 // The client should be responsible for setting bounds, content bounds and
361 // contents scale to appropriate values. LayerImpl doesn't calculate any of 357 // contents scale to appropriate values. LayerImpl doesn't calculate any of
362 // them from the other values. 358 // them from the other values.
363 359
364 void SetBounds(const gfx::Size& bounds); 360 void SetBounds(const gfx::Size& bounds);
365 gfx::Size bounds() const; 361 gfx::Size bounds() const;
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after
623 // Tracks if drawing-related properties have changed since last redraw. 619 // Tracks if drawing-related properties have changed since last redraw.
624 bool layer_property_changed_ : 1; 620 bool layer_property_changed_ : 1;
625 621
626 bool masks_to_bounds_ : 1; 622 bool masks_to_bounds_ : 1;
627 bool contents_opaque_ : 1; 623 bool contents_opaque_ : 1;
628 bool is_root_for_isolated_group_ : 1; 624 bool is_root_for_isolated_group_ : 1;
629 bool use_parent_backface_visibility_ : 1; 625 bool use_parent_backface_visibility_ : 1;
630 bool draw_checkerboard_for_missing_tiles_ : 1; 626 bool draw_checkerboard_for_missing_tiles_ : 1;
631 bool draws_content_ : 1; 627 bool draws_content_ : 1;
632 bool hide_layer_and_subtree_ : 1; 628 bool hide_layer_and_subtree_ : 1;
633 bool force_render_surface_ : 1;
634 629
635 // Cache transform_'s invertibility. 630 // Cache transform_'s invertibility.
636 bool transform_is_invertible_ : 1; 631 bool transform_is_invertible_ : 1;
637 632
638 // Set for the layer that other layers are fixed to. 633 // Set for the layer that other layers are fixed to.
639 bool is_container_for_fixed_position_layers_ : 1; 634 bool is_container_for_fixed_position_layers_ : 1;
640 Region non_fast_scrollable_region_; 635 Region non_fast_scrollable_region_;
641 Region touch_event_handler_region_; 636 Region touch_event_handler_region_;
642 SkColor background_color_; 637 SkColor background_color_;
643 638
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
697 692
698 scoped_ptr<ScrollbarSet> scrollbars_; 693 scoped_ptr<ScrollbarSet> scrollbars_;
699 694
700 ScopedPtrVector<CopyOutputRequest> copy_requests_; 695 ScopedPtrVector<CopyOutputRequest> copy_requests_;
701 696
702 // Group of properties that need to be computed based on the layer tree 697 // Group of properties that need to be computed based on the layer tree
703 // hierarchy before layers can be drawn. 698 // hierarchy before layers can be drawn.
704 DrawProperties<LayerImpl> draw_properties_; 699 DrawProperties<LayerImpl> draw_properties_;
705 700
706 scoped_refptr<base::debug::ConvertableToTraceFormat> debug_info_; 701 scoped_refptr<base::debug::ConvertableToTraceFormat> debug_info_;
707 702 scoped_ptr<RenderSurfaceImpl> render_surface_;
708 DISALLOW_COPY_AND_ASSIGN(LayerImpl); 703 DISALLOW_COPY_AND_ASSIGN(LayerImpl);
709 }; 704 };
710 705
711 } // namespace cc 706 } // namespace cc
712 707
713 #endif // CC_LAYERS_LAYER_IMPL_H_ 708 #endif // CC_LAYERS_LAYER_IMPL_H_
OLDNEW
« no previous file with comments | « cc/layers/layer.cc ('k') | cc/layers/layer_impl.cc » ('j') | cc/layers/layer_impl.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698