blob: e861c7e6ccd43d79636e437fe3d98b0a4fd0f9b0 [file] [log] [blame]
// 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 {
};