forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdisplay_item.proto
97 lines (79 loc) · 2.35 KB
/
display_item.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
// 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 "skregion.proto";
import "skrrect.proto";
import "skxfermode.proto";
import "rect.proto";
import "rectf.proto";
import "transform.proto";
option optimize_for = LITE_RUNTIME;
package cc.proto;
message DisplayItemListSettings {
optional bool use_cached_picture = 1;
}
message DisplayItemList {
repeated DisplayItem items = 1;
optional DisplayItemListSettings settings = 3;
repeated cc.proto.Rect visual_rects = 4;
}
message DisplayItem {
enum Type {
Type_Clip = 1;
Type_EndClip = 2;
Type_ClipPath = 3;
Type_EndClipPath = 4;
Type_Compositing = 5;
Type_EndCompositing = 6;
Type_Drawing = 7;
Type_Filter = 8;
Type_EndFilter = 9;
Type_FloatClip = 10;
Type_EndFloatClip = 11;
Type_Transform = 12;
Type_EndTransform = 13;
}
optional Type type = 1;
// Unique DisplayItem types. |type| determines which one (if any) is valid.
optional ClipDisplayItem clip_item = 1000;
optional ClipPathDisplayItem clip_path_item = 1001;
optional CompositingDisplayItem compositing_item = 1002;
optional DrawingDisplayItem drawing_item = 1003;
optional FilterDisplayItem filter_item = 1004;
optional FloatClipDisplayItem float_clip_item = 1005;
optional TransformDisplayItem transform_item = 1006;
}
message ClipDisplayItem {
optional cc.proto.Rect clip_rect = 1;
repeated cc.proto.SkRRect rounded_rects = 2;
optional bool antialias = 3;
}
message ClipPathDisplayItem {
optional cc.proto.SkRegion.Op clip_op = 1;
optional bool antialias = 2;
optional bytes clip_path = 3; /* SkPath */
}
message CompositingDisplayItem {
optional uint32 alpha = 1;
optional cc.proto.SkXfermode.Mode mode = 2;
optional cc.proto.RectF bounds = 3;
optional bytes color_filter = 4; /* SkColorFilter */
optional bool lcd_text_requires_opaque_layer = 5;
}
message SkPictureID {
optional uint32 unique_id = 1;
}
message DrawingDisplayItem {
optional SkPictureID id = 1;
}
message FilterDisplayItem {
optional cc.proto.RectF bounds = 1;
// TODO(dtrainor): Support FilterOperations.
}
message FloatClipDisplayItem {
optional cc.proto.RectF clip_rect = 1;
}
message TransformDisplayItem {
optional cc.proto.Transform transform = 1;
}