| // Copyright 2017 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| library fuchsia.ui.gfx; |
| |
| // The shapes defined in this file can be used to define the rendered shape of |
| // an |ObjectNode|, and to define the clip region of a |ClipNode|. |
| |
| // Rectangle centered at (0,0). |
| struct RectangleArgs { |
| Value width; // float32 |
| Value height; // float32 |
| }; |
| |
| // RoundedRectangle centered at (0,0). Legal parameter values must satisfy the |
| // constraint that the flat sides of the rectangle have non-negative length. |
| // In other words, the following constraints must hold: |
| // - top_left_radius + top_right_radius <= width |
| // - bottom_left_radius + bottom_right_radius <= width |
| // - top_left_radius + bottom_left_radius <= height |
| // - top_right_radius + bottom_right_radius <= height |
| struct RoundedRectangleArgs { |
| Value width; // float32 |
| Value height; // float32 |
| Value top_left_radius; // float32 |
| Value top_right_radius; // float32 |
| Value bottom_right_radius; // float32 |
| Value bottom_left_radius; // float32 |
| }; |
| |
| struct CircleArgs { |
| Value radius; // float32 |
| }; |
| |
| // A Mesh cannot be rendered until it has been bound to vertex/index buffers; |
| // see BindMeshBuffersCmd. |
| struct MeshArgs { |
| uint8 dummy; |
| }; |