// 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";

package cc.proto;

import "layer.proto";
import "layer_selection_bound.proto";
import "size.proto";
import "vector2df.proto";

option optimize_for = LITE_RUNTIME;

message LayerTree {
  optional LayerNode root_layer = 27;
  optional int32 overscroll_elasticity_layer_id = 3;
  optional int32 page_scale_layer_id = 4;
  optional int32 inner_viewport_scroll_layer_id = 5;
  optional int32 outer_viewport_scroll_layer_id = 6;

  // Browser Controls ignored. They are not supported.

  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;

  // TODO(khushalsagar): gfx::ColorSpace?

  optional uint32 background_color = 21; /* SkColor */
  optional bool has_transparent_background = 22;

  optional LayerSelection selection = 29;
  optional Size device_viewport_size = 18;

  // TODO(khushalsagar): Do we actually care about these?
  optional bool have_scroll_event_handlers = 23;
  optional uint32 touch_start_or_move_event_listener_properties = 24;
  optional uint32 wheel_event_listener_properties = 25;
  optional uint32 touch_end_or_cancel_event_listener_properties = 26;
}
