Roll src/third_party/android_protobuf 94f522f9:999188d0
[chromium-blink-merge.git] / ppapi / api / pp_rect.idl
blobb83e3cdb5a1a80687fcdb8860159a6e8358adad2
1 /* Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 * Use of this source code is governed by a BSD-style license that can be
3 * found in the LICENSE file.
4 */
6 /**
7 * This file defines the APIs for creating a 2 dimensional rectangle.
8 */
10 /**
11 * The <code>PP_Rect</code> struct contains the size and location of a 2D
12 * rectangle.
14 [assert_size(16)]
15 struct PP_Rect {
16 /**
17 * This value represents the x and y coordinates of the upper-left corner of
18 * the rectangle.
20 PP_Point point;
22 /** This value represents the width and height of the rectangle. */
23 PP_Size size;
26 /**
27 * The <code>PP_FloatRect</code> struct contains the size and location of a 2D
28 * rectangle.
30 struct PP_FloatRect {
31 /**
32 * This value represents the x and y coordinates of the upper-left corner of
33 * the rectangle.
35 PP_FloatPoint point;
37 /** This value represents the width and height of the rectangle. */
38 PP_FloatSize size;
41 #inline c
43 /**
44 * @addtogroup Functions
45 * @{
48 /**
49 * PP_MakeRectFromXYWH() creates a <code>PP_Rect</code> given x and y
50 * coordinates and width and height dimensions as int32_t values.
52 * @param[in] x An int32_t value representing a horizontal coordinate of a
53 * point, starting with 0 as the left-most coordinate.
54 * @param[in] y An int32_t value representing a vertical coordinate of a point,
55 * starting with 0 as the top-most coordinate.
56 * @param[in] w An int32_t value representing a width.
57 * @param[in] h An int32_t value representing a height.
59 * @return A <code>PP_Rect</code> structure.
61 PP_INLINE struct PP_Rect PP_MakeRectFromXYWH(int32_t x, int32_t y,
62 int32_t w, int32_t h) {
63 struct PP_Rect ret;
64 ret.point.x = x;
65 ret.point.y = y;
66 ret.size.width = w;
67 ret.size.height = h;
68 return ret;
71 /**
72 * PP_MakeFloatRectFromXYWH() creates a <code>PP_FloatRect</code> given x and y
73 * coordinates and width and height dimensions as float values.
75 * @param[in] x An float value representing a horizontal coordinate of a
76 * point, starting with 0 as the left-most coordinate.
77 * @param[in] y An float value representing a vertical coordinate of a point,
78 * starting with 0 as the top-most coordinate.
79 * @param[in] w An float value representing a width.
80 * @param[in] h An float value representing a height.
82 * @return A <code>PP_FloatRect</code> structure.
84 PP_INLINE struct PP_FloatRect PP_MakeFloatRectFromXYWH(float x, float y,
85 float w, float h) {
86 struct PP_FloatRect ret;
87 ret.point.x = x;
88 ret.point.y = y;
89 ret.size.width = w;
90 ret.size.height = h;
91 return ret;
94 /**
95 * @}
98 #endinl