blob: 21f07496b0c5d633bce7e9c6f2fac4e2372b0583 [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 {
};