12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright 2011 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef CC_TREES_LAYER_TREE_SETTINGS_H_ 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define CC_TREES_LAYER_TREE_SETTINGS_H_ 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/basictypes.h" 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/base/cc_export.h" 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/debug/layer_tree_debug_state.h" 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "third_party/skia/include/core/SkColor.h" 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "ui/gfx/size.h" 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace cc { 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class CC_EXPORT LayerTreeSettings { 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public: 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) LayerTreeSettings(); 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ~LayerTreeSettings(); 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) bool impl_side_painting; 22ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch bool allow_antialiasing; 2390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) bool throttle_frame_production; 245c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu bool begin_frame_scheduling_enabled; 25a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) bool main_frame_before_draw_enabled; 26a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) bool main_frame_before_activation_enabled; 2790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) bool using_synchronous_renderer_compositor; 28a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch bool report_overscroll_only_for_scrollable_axes; 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) bool per_tile_painting_enabled; 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) bool partial_swap_enabled; 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) bool accelerated_animation_enabled; 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) bool can_use_lcd_text; 33010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) bool use_distance_field_text; 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) bool should_clear_root_render_pass; 35010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) bool gpu_rasterization_enabled; 36010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) bool gpu_rasterization_forced; 37010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) enum RecordingMode { 38010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) RecordNormally, 39010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) RecordWithSkRecord, 40a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) }; 41010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) RecordingMode recording_mode; 4223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) bool create_low_res_tiling; 43424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) 44424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) enum ScrollbarAnimator { 45424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) NoAnimator, 46424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) LinearFade, 4758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) Thinning, 48424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) }; 49424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) ScrollbarAnimator scrollbar_animator; 50010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) int scrollbar_fade_delay_ms; 51010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) int scrollbar_fade_duration_ms; 522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SkColor solid_color_scrollbar_color; 532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) bool calculate_top_controls_position; 54c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) bool timeout_and_draw_when_animation_checkerboards; 5558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) int maximum_number_of_failed_draws_before_draw_is_forced_; 56b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) bool layer_transforms_should_scale_layer_contents; 572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) float minimum_contents_scale; 582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) float low_res_contents_scale_factor; 592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) float top_controls_height; 602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) float top_controls_show_threshold; 612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) float top_controls_hide_threshold; 622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) double refresh_rate; 632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) size_t max_partial_texture_updates; 642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) gfx::Size default_tile_size; 652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) gfx::Size max_untiled_layer_size; 662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) gfx::Size minimum_occlusion_tracking_size; 672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) bool use_pinch_zoom_scrollbars; 6890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) bool use_pinch_virtual_viewport; 69c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) size_t max_tiles_for_interest_area; 70010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) float skewport_target_time_multiplier; 715d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) int skewport_extrapolation_limit_in_content_pixels; 72c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) size_t max_unused_resource_memory_percentage; 735d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) size_t max_memory_for_prepaint_percentage; 74c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) int highp_threshold_min; 75c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) bool strict_layer_property_change_checking; 765c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu bool use_one_copy; 775c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu bool use_zero_copy; 78a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) bool ignore_root_layer_flings; 79d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) bool use_rgba_4444_textures; 804e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) bool touch_hit_testing; 810f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) size_t texture_id_allocation_chunk_size; 82bee9932bab44713b74b422b4b759b49f5a222977Bo Liu bool record_full_layer; 832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) LayerTreeDebugState initial_debug_state; 852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace cc 882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif // CC_TREES_LAYER_TREE_SETTINGS_H_ 90