Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(453)

Side by Side Diff: ppapi/c/dev/ppb_touch_event_dev.h

Issue 10543159: ppapi: Add support for touch events. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 /* Copyright (c) 2011 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 #ifndef PPAPI_C_DEV_PPB_TOUCH_EVENT_DEV_H_
brettw 2012/06/19 21:20:52 You should convert this file to IDL and then gener
sadrul 2012/06/20 20:19:03 Done.
6 #define PPAPI_C_DEV_PPB_TOUCH_EVENT_DEV_H_
7
8 #include "ppapi/c/pp_bool.h"
9 #include "ppapi/c/pp_point.h"
10 #include "ppapi/c/pp_resource.h"
11 #include "ppapi/c/pp_stdint.h"
12
13 #define PPB_TOUCH_INPUT_EVENT_DEV_INTERFACE_0_1 "PPB_TouchInputEvent(Dev);0.1"
14 #define PPB_TOUCH_INPUT_EVENT_DEV_INTERFACE PPB_TOUCH_INPUT_EVENT_DEV_INTERFACE_ 0_1
15
16 /**
17 * Represents a single touch point.
18 */
19 struct PP_TouchPoint_Dev {
20 /**
21 * The identifier for this TouchPoint. This corresponds to the order
22 * in which the points were pressed. For example, the first point to be
23 * pressed has an id of 0, the second has an id of 1, and so on. An id can be
24 * reused when a touch point is released. For example, if two fingers are
25 * down, with id 0 and 1, and finger 0 releases, the next finger to be
26 * pressed can be assigned to id 0.
27 */
28 uint32_t id;
29
30 /**
31 * The x-y coordinates of this TouchPoint, in DOM coordinate space.
brettw 2012/06/19 21:20:52 One thing that we need to clarify is the coordinat
sadrul 2012/06/20 20:19:03 These values are indeed in the same coordinate spa
32 */
33 struct PP_FloatPoint position;
34 /**
35 * The elliptical radii, in screen pixels, in the x and y direction of this
36 * TouchPoint.
37 */
38 struct PP_FloatPoint radius;
39 /**
40 * The angle of rotation in degrees of the elliptical model of this TouchPoint
41 * clockwise from "up."
42 */
43 float rotation_angle;
44 /**
45 * The pressure applied to this TouchPoint. This is typically a
46 * value between 0 and 1, with 0 indicating no pressure and 1 indicating
47 * some maximum pressure, but scaling differs depending on the hardware and
48 * the value is not guaranteed to stay within that range.
49 */
50 float pressure;
51 };
52
53 PP_INLINE struct PP_TouchPoint_Dev PP_MakeTouchPoint() {
54 struct PP_TouchPoint_Dev result = { 0, {0, 0}, {0, 0}, 0, 0 };
55 return result;
56 }
57
58 typedef enum {
59
60 /**
61 * The list of all TouchPoints which are currently down.
62 */
63 PP_TOUCHLIST_TYPE_TOUCHES,
64
65 /**
66 * The list of all TouchPoints whose state has changed since the last
67 * TouchInputEvent.
68 */
69 PP_TOUCHLIST_TYPE_CHANGEDTOUCHES,
70
71 /**
72 * The list of all TouchPoints which are targeting this plugin. This is a
73 * subset of Touches.
74 */
75 PP_TOUCHLIST_TYPE_TARGETTOUCHES
76 } PP_TouchListType;
77
78 struct PPB_TouchInputEvent_Dev {
brettw 2012/06/19 21:20:52 I think we will want a "create" function like we h
sadrul 2012/06/20 20:19:03 Done. I have currently left CreateTouchInputEvent
79 /**
80 * Determines if a resource is a touch event.
81 *
82 * @return PP_TRUE if the given resource is a valid touch input event.
83 */
84 PP_Bool (*IsTouchInputEvent)(PP_Resource resource);
85
86 /**
87 * @return The number of TouchPoints in the given list
88 */
89 uint32_t (*GetTouchCount)(PP_Resource resource, PP_TouchListType list);
90
91 /**
92 * @return The TouchPoint at the given index, or an empty TouchPoint if the
93 * given index is out of range
94 */
95 PP_TouchPoint_Dev (*GetTouchByIndex)(PP_Resource resource,
96 PP_TouchListType list,
97 uint32_t index);
98
99 /**
100 * @return The TouchPoint with the given identifier, or an empty TouchPoint
101 * if this TouchList does not contain a TouchPoint with that identifier.
102 */
103 PP_TouchPoint_Dev (*GetTouchById)(PP_Resource resource,
104 PP_TouchListType list,
105 uint32_t id);
106 };
107
108 #endif /* PPAPI_C_DEV_PPB_TOUCH_EVENT_DEV_H_ */
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698