// 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.proto";
import "layer_selection_bound.proto";
import "layer_tree_settings.proto";
import "layer_tree_debug_state.proto";
import "property_tree.proto";
import "size.proto";
import "vector2df.proto";

package cc.proto;

option optimize_for = LITE_RUNTIME;

message LayerTreeHost {
  // Not all members of LayerTreeHost are serialized, as they are not helpful
  // for remote usage. See implementation of
  // cc::LayerTreeHost::ToProtobufForCommit for details.
  optional bool needs_full_tree_sync = 1;
  optional bool needs_meta_info_recomputation = 2;
  optional int32 source_frame_number = 3;
  optional int32 meta_information_sequence_number = 4;
  optional LayerNode root_layer = 5;
  optional LayerUpdate layer_updates = 6;
  optional int32 hud_layer_id = 7;
  optional LayerTreeDebugState debug_state = 8;
  optional Size device_viewport_size = 9;
  optional bool top_controls_shrink_blink_size = 10;
  optional float top_controls_height = 11;
  optional float top_controls_shown_ratio = 12;
  optional float device_scale_factor = 13;
  optional float painted_device_scale_factor = 14;
  optional float page_scale_factor = 15;
  optional float min_page_scale_factor = 16;
  optional float max_page_scale_factor = 17;
  optional Vector2dF elastic_overscroll = 18;
  optional bool has_gpu_rasterization_trigger = 19;
  optional bool content_is_suitable_for_gpu_rasterization = 20;
  optional uint32 background_color = 21; /* SkColor */
  optional bool has_transparent_background = 22;
  optional bool in_paint_layer_contents = 23;
  optional int32 id = 24;
  optional bool next_commit_forces_redraw = 25;
  optional int32 overscroll_elasticity_layer_id = 26;
  optional int32 page_scale_layer_id = 27;
  optional int32 inner_viewport_scroll_layer_id = 28;
  optional int32 outer_viewport_scroll_layer_id = 29;
  optional LayerSelection selection = 30;
  optional PropertyTrees property_trees = 31;
  optional uint32 surface_id_namespace = 32;
  optional uint32 next_surface_sequence = 33;
  optional uint32 wheel_event_listener_properties = 34;
  optional bool have_scroll_event_handlers = 35;
  optional uint32 touch_start_or_move_event_listener_properties = 36;
  repeated int32 layers_that_should_push_properties = 37;
  optional uint32 touch_end_or_cancel_event_listener_properties = 38;
}
