|  | // 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 { | 
|  | }; |