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 /* From pp_point.idl modified Wed Oct 5 14:06:02 2011. */ 7 8 #ifndef PPAPI_C_PP_POINT_H_ 9 #define PPAPI_C_PP_POINT_H_ 10 11 #include "ppapi/c/pp_macros.h" 12 #include "ppapi/c/pp_stdint.h" 13 14 /** 15 * @file 16 * This file defines the API to create a 2 dimensional point. 17 * 0,0 is the upper-left starting coordinate. 18 */ 19 20 21 /** 22 * @addtogroup Structs 23 * @{ 24 */ 25 /** 26 * The PP_Point structure defines the integer x and y coordinates of a point. 27 */ 28 struct PP_Point { 29 /** 30 * This value represents the horizontal coordinate of a point, starting with 0 31 * as the left-most coordinate. 32 */ 33 int32_t x; 34 /** 35 * This value represents the vertical coordinate of a point, starting with 0 36 * as the top-most coordinate. 37 */ 38 int32_t y; 39 }; 40 PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_Point, 8); 41 42 /** 43 * The PP_FloatPoint structure defines the floating-point x and y coordinates 44 * of a point. 45 */ 46 struct PP_FloatPoint { 47 float x; 48 float y; 49 }; 50 PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_FloatPoint, 8); 51 /** 52 * @} 53 */ 54 55 /** 56 * @addtogroup Functions 57 * @{ 58 */ 59 60 /** 61 * PP_MakePoint() creates a <code>PP_Point</code> given the x and y coordinates 62 * as int32_t values. 63 * 64 * @param[in] x An int32_t value representing a horizontal coordinate of a 65 * point, starting with 0 as the left-most coordinate. 66 * @param[in] y An int32_t value representing a vertical coordinate of a point, 67 * starting with 0 as the top-most coordinate. 68 * 69 * @return A <code>PP_Point</code> structure. 70 */ 71 PP_INLINE struct PP_Point PP_MakePoint(int32_t x, int32_t y) { 72 struct PP_Point ret; 73 ret.x = x; 74 ret.y = y; 75 return ret; 76 } 77 78 PP_INLINE struct PP_FloatPoint PP_MakeFloatPoint(float x, float y) { 79 struct PP_FloatPoint ret; 80 ret.x = x; 81 ret.y = y; 82 return ret; 83 } 84 /** 85 * @} 86 */ 87 88 #endif /* PPAPI_C_PP_POINT_H_ */ 89 90