OLD | NEW |
---|---|
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 syntax = "proto2"; | 5 syntax = "proto2"; |
6 | 6 |
7 import "display_list_recording_source.proto"; | |
8 import "size.proto"; | |
9 import "rect.proto"; | |
10 import "region.proto"; | |
11 | |
7 package cc.proto; | 12 package cc.proto; |
8 | 13 |
9 option optimize_for = LITE_RUNTIME; | 14 option optimize_for = LITE_RUNTIME; |
10 | 15 |
11 // Identifies the type of cc:Layer a LayerNode represents. It is used to | 16 // Identifies the type of cc:Layer a LayerNode represents. It is used to |
12 // facilitate reconstruction of a Layer of the correct type on the client. | 17 // facilitate reconstruction of a Layer of the correct type on the client. |
13 enum LayerType { | 18 enum LayerType { |
14 Base = 1; | 19 Base = 1; |
20 Picture = 2; | |
vmpstr
2015/12/16 04:21:08
As I mentined elsewhere, maybe these should match
David Trainor- moved to gerrit
2015/12/16 19:10:58
Done. Also moved to caps to fit chromium style gu
| |
15 | 21 |
16 // TODO(nyquist): Add the rest of the necessary LayerTypes. | 22 // TODO(nyquist): Add the rest of the necessary LayerTypes. |
17 }; | 23 }; |
18 | 24 |
19 // Hierarchical structure for serializing the Layer tree. | 25 // Hierarchical structure for serializing the Layer tree. |
20 message LayerNode { | 26 message LayerNode { |
21 // required | 27 // required |
22 optional int32 id = 1; | 28 optional int32 id = 1; |
23 // required | 29 // required |
24 optional LayerType type = 2; | 30 optional LayerType type = 2; |
(...skipping 15 matching lines...) Expand all Loading... | |
40 optional int32 id = 1; | 46 optional int32 id = 1; |
41 // required | 47 // required |
42 optional bool needs_push_properties = 3; | 48 optional bool needs_push_properties = 3; |
43 // required | 49 // required |
44 optional int32 num_dependents_need_push_properties = 4; | 50 optional int32 num_dependents_need_push_properties = 4; |
45 | 51 |
46 // The properties below are only read if |needs_push_properties| is set. | 52 // The properties below are only read if |needs_push_properties| is set. |
47 // The Layer base class and each descendant have different proto messages | 53 // The Layer base class and each descendant have different proto messages |
48 // for their specific properties. | 54 // for their specific properties. |
49 optional BaseLayerProperties base = 5; | 55 optional BaseLayerProperties base = 5; |
56 | |
57 // Only one of these fields may be set per LayerProperties. | |
58 // TODO(dtrainor): use a 'oneof' union when it's supported in Chromium. | |
vmpstr
2015/12/16 04:21:08
File a bug and reference it here please
David Trainor- moved to gerrit
2015/12/16 19:10:59
Done.
| |
59 optional PictureLayerProperties picture = 6; | |
50 } | 60 } |
51 | 61 |
52 message BaseLayerProperties { | 62 message BaseLayerProperties { |
53 // TODO(nyquist): Add all the required properties below. Huzzah! | 63 // TODO(nyquist): Add all the required properties below. Huzzah! |
54 } | 64 } |
65 | |
66 message PictureLayerProperties { | |
67 optional DisplayListRecordingSource recording_source = 1; | |
68 optional Region invalidation = 2; | |
69 optional Rect last_updated_visible_layer_rect = 3; | |
70 optional bool is_mask = 4; | |
71 optional bool nearest_neighbor = 5; | |
72 | |
73 optional int64 update_source_frame_number = 6; | |
74 } | |
OLD | NEW |