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

Side by Side Diff: ppapi/shared_impl/ppb_gamepad_shared.cc

Issue 2808093006: [Device Service] Move Gamepad Blink headers to be part of the Gamepad client library (Closed)
Patch Set: address comments Created 3 years, 8 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ppapi/shared_impl/ppb_gamepad_shared.h" 5 #include "ppapi/shared_impl/ppb_gamepad_shared.h"
6 6
7 #include <string.h> 7 #include <string.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 10
11 #include "device/gamepad/public/cpp/gamepads.h"
12
11 namespace ppapi { 13 namespace ppapi {
12 14
13 const size_t WebKitGamepads::kItemsLengthCap; 15 const size_t WebKitGamepads::kItemsLengthCap;
14 16
15 void ConvertWebKitGamepadData(const WebKitGamepads& webkit_data, 17 void ConvertWebKitGamepadData(const WebKitGamepads& webkit_data,
bbudge 2017/04/14 00:57:32 Is there a plan to remove the old function? Maybe
juncai 2017/04/18 03:43:52 Yes. Added TODO.
16 PP_GamepadsSampleData* output_data) { 18 PP_GamepadsSampleData* output_data) {
17 output_data->length = WebKitGamepads::kItemsLengthCap; 19 output_data->length = WebKitGamepads::kItemsLengthCap;
18 for (unsigned i = 0; i < WebKitGamepads::kItemsLengthCap; ++i) { 20 for (unsigned i = 0; i < WebKitGamepads::kItemsLengthCap; ++i) {
19 PP_GamepadSampleData& output_pad = output_data->items[i]; 21 PP_GamepadSampleData& output_pad = output_data->items[i];
20 const WebKitGamepad& webkit_pad = webkit_data.items[i]; 22 const WebKitGamepad& webkit_pad = webkit_data.items[i];
21 output_pad.connected = webkit_pad.connected ? PP_TRUE : PP_FALSE; 23 output_pad.connected = webkit_pad.connected ? PP_TRUE : PP_FALSE;
22 if (webkit_pad.connected) { 24 if (webkit_pad.connected) {
23 static_assert(sizeof(output_pad.id) == sizeof(webkit_pad.id), 25 static_assert(sizeof(output_pad.id) == sizeof(webkit_pad.id),
24 "id size does not match"); 26 "id size does not match");
25 memcpy(output_pad.id, webkit_pad.id, sizeof(output_pad.id)); 27 memcpy(output_pad.id, webkit_pad.id, sizeof(output_pad.id));
26 output_pad.timestamp = static_cast<double>(webkit_pad.timestamp); 28 output_pad.timestamp = static_cast<double>(webkit_pad.timestamp);
27 output_pad.axes_length = webkit_pad.axes_length; 29 output_pad.axes_length = webkit_pad.axes_length;
28 for (unsigned j = 0; j < webkit_pad.axes_length; ++j) 30 for (unsigned j = 0; j < webkit_pad.axes_length; ++j)
29 output_pad.axes[j] = static_cast<float>(webkit_pad.axes[j]); 31 output_pad.axes[j] = static_cast<float>(webkit_pad.axes[j]);
30 output_pad.buttons_length = webkit_pad.buttons_length; 32 output_pad.buttons_length = webkit_pad.buttons_length;
31 for (unsigned j = 0; j < webkit_pad.buttons_length; ++j) 33 for (unsigned j = 0; j < webkit_pad.buttons_length; ++j)
32 output_pad.buttons[j] = static_cast<float>(webkit_pad.buttons[j].value); 34 output_pad.buttons[j] = static_cast<float>(webkit_pad.buttons[j].value);
33 } 35 }
34 } 36 }
35 } 37 }
36 38
39 void ConvertDeviceGamepadData(const device::Gamepads& device_data,
40 PP_GamepadsSampleData* output_data) {
41 output_data->length = device::Gamepads::kItemsLengthCap;
42 for (unsigned i = 0; i < device::Gamepads::kItemsLengthCap; ++i) {
43 PP_GamepadSampleData& output_pad = output_data->items[i];
44 const device::Gamepad& device_pad = device_data.items[i];
45 output_pad.connected = device_pad.connected ? PP_TRUE : PP_FALSE;
46 if (device_pad.connected) {
47 static_assert(sizeof(output_pad.id) == sizeof(device_pad.id),
48 "id size does not match");
49 memcpy(output_pad.id, device_pad.id, sizeof(output_pad.id));
50 output_pad.timestamp = static_cast<double>(device_pad.timestamp);
51 output_pad.axes_length = device_pad.axes_length;
52 for (unsigned j = 0; j < device_pad.axes_length; ++j)
53 output_pad.axes[j] = static_cast<float>(device_pad.axes[j]);
54 output_pad.buttons_length = device_pad.buttons_length;
55 for (unsigned j = 0; j < device_pad.buttons_length; ++j)
56 output_pad.buttons[j] = static_cast<float>(device_pad.buttons[j].value);
57 }
58 }
59 }
60
37 } // namespace ppapi 61 } // namespace ppapi
OLDNEW
« no previous file with comments | « ppapi/shared_impl/ppb_gamepad_shared.h ('k') | third_party/WebKit/Source/modules/gamepad/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698