// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

syntax = "proto2";

import "layer_tree_debug_state.proto";
import "managed_memory_policy.proto";
import "renderer_settings.proto";
import "size.proto";

package cc.proto;

option optimize_for = LITE_RUNTIME;

message LayerTreeSettings {
  enum ScrollbarAnimator {
    UNKNOWN = 0;
    NO_ANIMATOR = 1;
    LINEAR_FADE = 2;
    THINNING = 3;
  };

  optional RendererSettings renderer_settings = 1;
  optional bool single_thread_proxy_scheduler = 2;
  optional bool use_external_begin_frame_source = 3;
  optional bool main_frame_before_activation_enabled = 4;
  optional bool using_synchronous_renderer_compositor = 5;
  optional bool accelerated_animation_enabled = 6;
  optional bool can_use_lcd_text = 7;
  optional bool use_distance_field_text = 8;
  optional bool gpu_rasterization_enabled = 9;
  optional bool gpu_rasterization_forced = 10;
  optional int32 gpu_rasterization_msaa_sample_count = 11;
  optional float gpu_rasterization_skewport_target_time_in_seconds = 12;
  optional bool create_low_res_tiling = 13;
  optional ScrollbarAnimator scrollbar_animator = 14;
  optional int32 scrollbar_fade_delay_ms = 15;
  optional int32 scrollbar_fade_resize_delay_ms = 16;
  optional int32 scrollbar_fade_duration_ms = 17;
  optional uint32 solid_color_scrollbar_color = 18; /* SkColor */
  optional bool timeout_and_draw_when_animation_checkerboards = 19;
  optional bool layer_transforms_should_scale_layer_contents = 20;
  optional bool layers_always_allowed_lcd_text = 21;
  optional float minimum_contents_scale = 22;
  optional float low_res_contents_scale_factor = 23;
  optional float top_controls_show_threshold = 24;
  optional float top_controls_hide_threshold = 25;
  optional double background_animation_rate = 26;
  optional Size default_tile_size = 27;
  optional Size max_untiled_layer_size = 28;
  optional Size minimum_occlusion_tracking_size = 29;
  optional uint32 tiling_interest_area_padding = 30;
  optional float skewport_target_time_in_seconds = 31;
  optional int32 skewport_extrapolation_limit_in_screen_pixels = 32;
  optional uint32 max_memory_for_prepaint_percentage = 33;
  optional bool use_zero_copy = 35;
  optional bool use_partial_raster = 36;
  optional bool enable_elastic_overscroll = 37;
  repeated uint32 use_image_texture_targets = 38;
  optional bool ignore_root_layer_flings = 39;
  optional uint32 scheduled_raster_task_limit = 40;
  optional bool use_occlusion_for_tile_prioritization = 41;
  optional bool image_decode_tasks_enabled = 44;
  optional bool use_compositor_animation_timelines = 45;
  optional bool wait_for_beginframe_interval = 46;
  optional int32 max_staging_buffer_usage_in_bytes = 47;
  optional ManagedMemoryPolicy memory_policy = 48;
  optional LayerTreeDebugState initial_debug_state = 49;
  optional bool use_cached_picture_raster = 51;
  optional bool async_worker_context_enabled = 52;
}
