| /* |
| * Copyright (C) 2015 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| syntax = "proto2"; |
| |
| package android.uirenderer.proto; |
| |
| option optimize_for = LITE_RUNTIME; |
| |
| message RenderNode { |
| required uint64 id = 1; |
| required string name = 2; |
| required RenderProperties properties = 3; |
| optional DisplayList display_list = 4; |
| repeated RenderNode children = 5; |
| }; |
| |
| message RenderProperties { |
| required int32 left = 1; |
| required int32 right = 2; |
| required int32 top = 3; |
| required int32 bottom = 4; |
| required int32 clip_flags = 5; |
| required float alpha = 6; |
| required float translation_x = 7; |
| required float translation_y = 8; |
| required float translation_z = 9; |
| required float elevation = 10; |
| required float rotation = 11; |
| required float rotation_x = 12; |
| required float rotation_y = 13; |
| required float scale_x = 14; |
| required float scale_y = 15; |
| required float pivot_x = 16; |
| required float pivot_y = 17; |
| required bool has_overlapping_rendering = 18; |
| required bool pivot_explicitly_set = 19; |
| required bool project_backwards = 20; |
| required bool projection_receiver = 21; |
| required RectF clip_bounds = 22; |
| optional Outline outline = 23; |
| optional RevealClip reveal_clip = 24; |
| }; |
| |
| message RectF { |
| required float left = 1; |
| required float right = 2; |
| required float top = 3; |
| required float bottom = 4; |
| } |
| |
| message Outline { |
| required bool should_clip = 1; |
| enum Type { |
| None = 0; |
| Empty = 1; |
| ConvexPath = 2; |
| RoundRect = 3; |
| } |
| required Type type = 2; |
| required RectF bounds = 3; |
| required float radius = 4; |
| required float alpha = 5; |
| optional bytes path = 6; |
| } |
| |
| message RevealClip { |
| required float x = 1; |
| required float y = 2; |
| required float radius = 3; |
| } |
| |
| message DisplayList { |
| optional int32 projection_receive_index = 1; |
| repeated DrawOp draw_ops = 2; |
| } |
| |
| message DrawOp { |
| oneof drawop { |
| DrawOp_RenderNode render_node = 1; |
| } |
| } |
| |
| message DrawOp_RenderNode { |
| optional RenderNode node = 1; |
| } |