• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #ifndef CC_DEBUG_LAYER_TREE_DEBUG_STATE_H_
6 #define CC_DEBUG_LAYER_TREE_DEBUG_STATE_H_
7 
8 #include "base/basictypes.h"
9 #include "cc/base/cc_export.h"
10 
11 namespace cc {
12 
13 class CC_EXPORT LayerTreeDebugState {
14  public:
15   LayerTreeDebugState();
16   ~LayerTreeDebugState();
17 
18   bool show_fps_counter;
19   bool show_debug_borders;
20   bool continuous_painting;
21 
22   bool show_paint_rects;
23   bool show_property_changed_rects;
24   bool show_surface_damage_rects;
25   bool show_screen_space_rects;
26   bool show_replica_screen_space_rects;
27   bool show_occluding_rects;
28   bool show_non_occluding_rects;
29   bool show_touch_event_handler_rects;
30   bool show_wheel_event_handler_rects;
31   bool show_scroll_event_handler_rects;
32   bool show_non_fast_scrollable_rects;
33   bool show_layer_animation_bounds_rects;
34 
35   int slow_down_raster_scale_factor;
36   bool rasterize_only_visible_content;
37   bool show_picture_borders;
38 
39   void SetRecordRenderingStats(bool enabled);
40   bool RecordRenderingStats() const;
41 
42   bool ShowHudInfo() const;
43   bool ShowHudRects() const;
44   bool ShowMemoryStats() const;
45 
46   static bool Equal(const LayerTreeDebugState& a, const LayerTreeDebugState& b);
47   static LayerTreeDebugState Unite(const LayerTreeDebugState& a,
48                                    const LayerTreeDebugState& b);
49 
50  private:
51   bool record_rendering_stats_;
52 };
53 
54 }  // namespace cc
55 
56 #endif  // CC_DEBUG_LAYER_TREE_DEBUG_STATE_H_
57