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_TREES_LAYER_TREE_SETTINGS_H_ 6 #define CC_TREES_LAYER_TREE_SETTINGS_H_ 7 8 #include "base/basictypes.h" 9 #include "cc/base/cc_export.h" 10 #include "cc/debug/layer_tree_debug_state.h" 11 #include "third_party/skia/include/core/SkColor.h" 12 #include "ui/gfx/size.h" 13 14 namespace cc { 15 16 class CC_EXPORT LayerTreeSettings { 17 public: 18 LayerTreeSettings(); 19 ~LayerTreeSettings(); 20 21 bool impl_side_painting; 22 bool allow_antialiasing; 23 bool throttle_frame_production; 24 bool single_thread_proxy_scheduler; 25 bool begin_frame_scheduling_enabled; 26 bool main_frame_before_draw_enabled; 27 bool main_frame_before_activation_enabled; 28 bool using_synchronous_renderer_compositor; 29 bool report_overscroll_only_for_scrollable_axes; 30 bool per_tile_painting_enabled; 31 bool partial_swap_enabled; 32 bool accelerated_animation_enabled; 33 bool can_use_lcd_text; 34 bool use_distance_field_text; 35 bool should_clear_root_render_pass; 36 bool gpu_rasterization_enabled; 37 bool gpu_rasterization_forced; 38 enum RecordingMode { 39 RecordNormally, 40 RecordWithSkRecord, 41 }; 42 RecordingMode recording_mode; 43 bool create_low_res_tiling; 44 45 enum ScrollbarAnimator { 46 NoAnimator, 47 LinearFade, 48 Thinning, 49 }; 50 ScrollbarAnimator scrollbar_animator; 51 int scrollbar_fade_delay_ms; 52 int scrollbar_fade_duration_ms; 53 SkColor solid_color_scrollbar_color; 54 bool calculate_top_controls_position; 55 bool timeout_and_draw_when_animation_checkerboards; 56 int maximum_number_of_failed_draws_before_draw_is_forced_; 57 bool layer_transforms_should_scale_layer_contents; 58 float minimum_contents_scale; 59 float low_res_contents_scale_factor; 60 float top_controls_height; 61 float top_controls_show_threshold; 62 float top_controls_hide_threshold; 63 double refresh_rate; 64 size_t max_partial_texture_updates; 65 gfx::Size default_tile_size; 66 gfx::Size max_untiled_layer_size; 67 gfx::Size minimum_occlusion_tracking_size; 68 bool use_pinch_zoom_scrollbars; 69 bool use_pinch_virtual_viewport; 70 size_t max_tiles_for_interest_area; 71 float skewport_target_time_multiplier; 72 int skewport_extrapolation_limit_in_content_pixels; 73 size_t max_unused_resource_memory_percentage; 74 size_t max_memory_for_prepaint_percentage; 75 int highp_threshold_min; 76 bool strict_layer_property_change_checking; 77 bool use_one_copy; 78 bool use_zero_copy; 79 bool ignore_root_layer_flings; 80 bool use_rgba_4444_textures; 81 size_t texture_id_allocation_chunk_size; 82 bool use_occlusion_for_tile_prioritization; 83 bool record_full_layer; 84 85 LayerTreeDebugState initial_debug_state; 86 }; 87 88 } // namespace cc 89 90 #endif // CC_TREES_LAYER_TREE_SETTINGS_H_ 91