blob: e3ba570b35ddb482601eb2e6b17aa3b95e202fa7 [file] [log] [blame]
 /* Copyright (c) 2011 The Chromium Authors. All rights reserved. * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ /** * This file defines the API to create a 2 dimensional point. * 0,0 is the upper-left starting coordinate. */ /** * The PP_Point structure defines the integer x and y coordinates of a point. */ [assert_size(8), returnByValue] struct PP_Point { /** * This value represents the horizontal coordinate of a point, starting with 0 * as the left-most coordinate. */ int32_t x; /** * This value represents the vertical coordinate of a point, starting with 0 * as the top-most coordinate. */ int32_t y; }; /** * The PP_FloatPoint structure defines the floating-point x and y coordinates * of a point. */ [assert_size(8), returnByValue] struct PP_FloatPoint { float_t x; float_t y; }; #inline c /** * @addtogroup Functions * @{ */ /** * PP_MakePoint() creates a PP_Point given the x and y coordinates * as int32_t values. * * @param[in] x An int32_t value representing a horizontal coordinate of a * point, starting with 0 as the left-most coordinate. * @param[in] y An int32_t value representing a vertical coordinate of a point, * starting with 0 as the top-most coordinate. * * @return A PP_Point structure. */ PP_INLINE struct PP_Point PP_MakePoint(int32_t x, int32_t y) { struct PP_Point ret; ret.x = x; ret.y = y; return ret; } PP_INLINE struct PP_FloatPoint PP_MakeFloatPoint(float x, float y) { struct PP_FloatPoint ret; ret.x = x; ret.y = y; return ret; } /** * @} */ #endinl