You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.4 KiB
88 lines
2.4 KiB
9 years ago
|
/* 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 <code>PP_TouchPoint</code> 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 <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;
|
||
|
}
|
||
|
/**
|
||
|
* @}
|
||
|
*/
|
||
|
|
||
|
#endif /* PPAPI_C_PP_TOUCH_POINT_H_ */
|
||
|
|