| Index: cc/proto/property_tree.proto
|
| diff --git a/cc/proto/property_tree.proto b/cc/proto/property_tree.proto
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..6bf2a7f8a9c9ba20d7e8a58fa850259878a702dd
|
| --- /dev/null
|
| +++ b/cc/proto/property_tree.proto
|
| @@ -0,0 +1,148 @@
|
| +// 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 "rectf.proto";
|
| +import "scroll_offset.proto";
|
| +import "transform.proto";
|
| +import "vector2df.proto";
|
| +
|
| +option optimize_for = LITE_RUNTIME;
|
| +
|
| +package cc.proto;
|
| +
|
| +// The messages declared in this file correspond to the classes declared in
|
| +// cc/trees/property_tree.h
|
| +
|
| +// Proto for struct TransformNodeData.
|
| +message TranformNodeData {
|
| + optional Transform pre_local = 1;
|
| + optional Transform local = 2;
|
| + optional Transform post_local = 3;
|
| + optional Transform to_parent = 4;
|
| + optional Transform to_target = 5;
|
| + optional Transform from_target = 6;
|
| + optional Transform to_screen = 7;
|
| + optional Transform from_screen = 8;
|
| +
|
| + optional int64 target_id = 9;
|
| + optional int64 content_target_id = 10;
|
| + optional int64 source_node_id = 11;
|
| + optional bool needs_local_transform_update = 12;
|
| + optional bool is_invertible = 13;
|
| + optional bool ancestors_are_invertible = 14;
|
| + optional bool is_animated = 15;
|
| + optional bool to_screen_is_animated = 16;
|
| + optional bool has_only_translation_animations = 17;
|
| + optional bool to_screen_has_scale_animation = 18;
|
| + optional bool flattens_inherited_transform = 19;
|
| + optional bool node_and_ancestors_are_flat = 20;
|
| + optional bool node_and_ancestors_have_only_integer_translation = 21;
|
| + optional bool scrolls = 22;
|
| + optional bool needs_sublayer_scale = 23;
|
| + optional bool affected_by_inner_viewport_bounds_delta_x = 24;
|
| + optional bool affected_by_inner_viewport_bounds_delta_y = 25;
|
| + optional bool affected_by_outer_viewport_bounds_delta_x = 26;
|
| + optional bool affected_by_outer_viewport_bounds_delta_y = 27;
|
| + optional bool in_subtree_of_page_scale_layer = 28;
|
| + optional float post_local_scale_factor = 29;
|
| + optional float local_maximum_animation_target_scale = 30;
|
| + optional float local_starting_animation_scale = 31;
|
| + optional float combined_maximum_animation_target_scale = 32;
|
| + optional float combined_starting_animation_scale = 33;
|
| +
|
| + optional Vector2dF sublayer_scale = 34;
|
| + optional ScrollOffset scroll_offset = 35;
|
| + optional Vector2dF scroll_snap = 36;
|
| + optional Vector2dF source_offset = 37;
|
| + optional Vector2dF source_to_parent = 38;
|
| +}
|
| +
|
| +// Proto for struct ClipNodeData.
|
| +message ClipNodeData {
|
| + optional RectF clip = 1;
|
| + optional RectF combined_clip_in_target_space = 2;
|
| + optional RectF clip_in_target_space = 3;
|
| +
|
| + optional int64 transform_id = 4;
|
| + optional int64 target_id = 5;
|
| + optional bool applies_local_clip = 6;
|
| + optional bool layer_clipping_uses_only_local_clip = 7;
|
| + optional bool target_is_clipped = 8;
|
| + optional bool layers_are_clipped = 9;
|
| + optional bool layers_are_clipped_when_surfaces_disabled = 10;
|
| + optional bool resets_clip = 11;
|
| +}
|
| +
|
| +// Proto for struct EffectNodeData.
|
| +message EffectNodeData {
|
| + optional float opacity = 1;
|
| + optional float screen_space_opacity = 2;
|
| + optional bool has_render_surface = 3;
|
| + optional int64 transform_id = 4;
|
| + optional int64 clip_id = 5;
|
| +}
|
| +
|
| +// This defines the proto used for all types of struct TreeNode.
|
| +message TreeNode {
|
| + // The following fields are the base TreeNode properties. This list
|
| + // corresponds to the data members from struct TreeNode.
|
| + optional int64 id = 1;
|
| + optional int64 parent_id = 2;
|
| + optional int64 owner_id = 3;
|
| +
|
| + // The following fields correspond to the possible values for TreeNode::data.
|
| + // Only one of these fields should be set, based on the type of property tree
|
| + // this node belongs to.
|
| + optional TranformNodeData transform_node_data = 1000;
|
| + optional ClipNodeData clip_node_data = 1001;
|
| + optional EffectNodeData effect_node_data = 1002;
|
| +}
|
| +
|
| +// This defines the proto used for all property trees. PropertyType denotes the
|
| +// type of this tree.
|
| +message PropertyTree {
|
| + enum PropertyType {
|
| + Transform = 1;
|
| + Clip = 2;
|
| + Effect = 3;
|
| + }
|
| +
|
| + // The following fields are the base PropertyTree properties. This list
|
| + // corresponds to the data members from class PropertyTree.
|
| + optional PropertyType property_type = 1;
|
| + repeated TreeNode nodes = 2;
|
| + optional bool needs_update = 3;
|
| +
|
| + // The following fields denote the data members for each subclass of
|
| + // PropertyTree. Only one of these fields should be set, depending on the type
|
| + // of this property tree.
|
| + optional TransformTreeData transform_tree_data = 1000;
|
| +}
|
| +
|
| +// Proto for data members of class TransformTree.
|
| +message TransformTreeData {
|
| + optional bool source_to_parent_updates_allowed = 1;
|
| + optional float page_scale_factor = 2;
|
| + optional float device_scale_factor = 3;
|
| + optional float device_transform_scale_factor = 4;
|
| + optional Vector2dF inner_viewport_bounds_delta = 5;
|
| + optional Vector2dF outer_viewport_bounds_delta = 6;
|
| + repeated int64 nodes_affected_by_inner_viewport_bounds_delta = 7
|
| + [packed = true];
|
| + repeated int64 nodes_affected_by_outer_viewport_bounds_delta = 8
|
| + [packed = true];
|
| +}
|
| +
|
| +// Proto for class PropertyTrees.
|
| +message PropertyTrees {
|
| + optional PropertyTree transform_tree = 1;
|
| + optional PropertyTree effect_tree = 2;
|
| + optional PropertyTree clip_tree = 3;
|
| +
|
| + optional bool needs_rebuild = 4;
|
| + optional bool non_root_surfaces_enabled = 5;
|
| + optional int64 sequence_number = 6;
|
| +}
|
|
|