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 */ 5 6 /** 7 * This file defines the APIs for creating a 2 dimensional rectangle. 8 */ 9 10 /** 11 * The <code>PP_Rect</code> struct contains the size and location of a 2D 12 * rectangle. 13 */ 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. 19 */ 20 PP_Point point; 21 22 /** This value represents the width and height of the rectangle. */ 23 PP_Size size; 24 }; 25 26 #inline c 27 28 /** 29 * @addtogroup Functions 30 * @{ 31 */ 32 33 /** 34 * PP_MakeRectFromXYWH() creates a <code>PP_Rect</code> given x and y 35 * coordinates and width and height dimensions as int32_t values. 36 * 37 * @param[in] x An int32_t value representing a horizontal coordinate of a 38 * point, starting with 0 as the left-most coordinate. 39 * @param[in] y An int32_t value representing a vertical coordinate of a point, 40 * starting with 0 as the top-most coordinate. 41 * @param[in] w An int32_t value representing a width. 42 * @param[in] h An int32_t value representing a height. 43 * 44 * @return A <code>PP_Rect</code> structure. 45 */ 46 PP_INLINE struct PP_Rect PP_MakeRectFromXYWH(int32_t x, int32_t y, 47 int32_t w, int32_t h) { 48 struct PP_Rect ret; 49 ret.point.x = x; 50 ret.point.y = y; 51 ret.size.width = w; 52 ret.size.height = h; 53 return ret; 54 } 55 /** 56 * @} 57 */ 58 59 #endinl 60 61