/* 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. */ /** * This file defines the API to create a touch point or position where fingers * makes contact with touch screen device. */ /** * The <code>PP_TouchPoint</code> struct represents all information about a * single touch point, such as position, id, rotation angle, and pressure. */ [assert_size(28), returnByValue] 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. */ PP_FloatPoint position; /** * This value represents the elliptical radii, in screen pixels, in the x * and y direction of this TouchPoint. */ PP_FloatPoint radius; /** * This value represents the angle of rotation in degrees of the elliptical * model of this TouchPoint clockwise from "up." */ float_t 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_t pressure; }; #inline c /** * @addtogroup Functions * @{ */ /** * PP_MakeTouchPoint() creates a <code>PP_TouchPoint</code>. * * @return A <code>PP_TouchPoint</code> structure. */ PP_INLINE struct PP_TouchPoint PP_MakeTouchPoint(void) { struct PP_TouchPoint result = { 0, {0, 0}, {0, 0}, 0, 0 }; return result; } /** * @} */ #endinl