/* Copyright (c) 2012 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. */ /* From pp_touch_point.idl modified Thu Mar 28 10:13:07 2013. */ #ifndef PPAPI_C_PP_TOUCH_POINT_H_ #define PPAPI_C_PP_TOUCH_POINT_H_ #include "ppapi/c/pp_macros.h" #include "ppapi/c/pp_point.h" #include "ppapi/c/pp_stdint.h" /** * @file * This file defines the API to create a touch point or position where fingers * makes contact with touch screen device. */ /** * @addtogroup Structs * @{ */ /** * The PP_TouchPoint struct represents all information about a * single touch point, such as position, id, rotation angle, and pressure. */ struct PP_TouchPoint { /** * This value represents the identifier for this TouchPoint. The id * corresponds to the order in which the points were pressed. For example, * the first point to be pressed has an id of 0, the second has an id of 1, * and so on. An id can be reused when a touch point is released. For * example, if two fingers are down, with id 0 and 1, and finger 0 releases, * the next finger to be pressed can be assigned to id 0. */ uint32_t id; /** * This value represents the x and y pixel position of this TouchPoint * relative to the upper-left of the module instance receiving the event. */ struct PP_FloatPoint position; /** * This value represents the elliptical radii, in screen pixels, in the x * and y direction of this TouchPoint. */ struct PP_FloatPoint radius; /** * This value represents the angle of rotation in degrees of the elliptical * model of this TouchPoint clockwise from "up." */ float rotation_angle; /** * This value represents the pressure applied to this TouchPoint. This value * is typically between 0 and 1, with 0 indicating no pressure and 1 * indicating some maximum pressure. Scaling differs depending on the * hardware and the value is not guaranteed to stay within that range. */ float pressure; }; PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_TouchPoint, 28); /** * @} */ /** * @addtogroup Functions * @{ */ /** * PP_MakeTouchPoint() creates a PP_TouchPoint. * * @return A PP_TouchPoint structure. */ PP_INLINE struct PP_TouchPoint PP_MakeTouchPoint(void) { struct PP_TouchPoint result = { 0, {0, 0}, {0, 0}, 0, 0 }; return result; } /** * @} */ #endif /* PPAPI_C_PP_TOUCH_POINT_H_ */