Index: cc/proto/display_item.proto |
diff --git a/cc/proto/display_item.proto b/cc/proto/display_item.proto |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6a01dff62a58e2b49b16f0e56b0d3b6569c5f16a |
--- /dev/null |
+++ b/cc/proto/display_item.proto |
@@ -0,0 +1,93 @@ |
+// 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 cc.proto.Rect layer_rect = 2; |
+ optional DisplayItemListSettings settings = 3; |
+} |
+ |
+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; |
+} |
+ |
+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 */ |
+} |
+ |
+message DrawingDisplayItem { |
+ optional bytes picture = 1; /* SkPicture */ |
+} |
+ |
+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; |
+} |