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