diff options
Diffstat (limited to 'webkit/plugins/ppapi/event_conversion.cc')
-rw-r--r-- | webkit/plugins/ppapi/event_conversion.cc | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/webkit/plugins/ppapi/event_conversion.cc b/webkit/plugins/ppapi/event_conversion.cc index 9936ce3..cfc74a9 100644 --- a/webkit/plugins/ppapi/event_conversion.cc +++ b/webkit/plugins/ppapi/event_conversion.cc @@ -16,6 +16,7 @@ #include "ppapi/shared_impl/ppb_input_event_shared.h" #include "ppapi/shared_impl/time_conversion.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebInputEvent.h" +#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebGamepads.h" #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h" #include "webkit/plugins/ppapi/common.h" #include "webkit/plugins/ppapi/usb_key_code_conversion.h" @@ -522,5 +523,31 @@ PP_InputEvent_Class ClassifyInputEvent(WebInputEvent::Type type) { } } +void ConvertWebKitGamepadData(WebKit::WebGamepads& webkit_data, + PP_GamepadsSampleData_Dev* output_data) { + output_data->length = webkit_data.length; + for (unsigned i = 0; i < webkit_data.length; ++i) { + PP_GamepadSampleData_Dev& output_pad = output_data->items[i]; + const WebKit::WebGamepad& webkit_pad = webkit_data.items[i]; + output_pad.connected = webkit_pad.connected ? PP_TRUE : PP_FALSE; + if (webkit_pad.connected) { + COMPILE_ASSERT(sizeof(output_pad.id) == sizeof(webkit_pad.id), + id_size_does_not_match); + COMPILE_ASSERT(sizeof(output_pad.axes) == sizeof(webkit_pad.axes), + axes_size_does_not_match); + COMPILE_ASSERT(sizeof(output_pad.buttons) == sizeof(webkit_pad.buttons), + buttons_size_does_not_match); + memcpy(output_pad.id, webkit_pad.id, sizeof(output_pad.id)); + output_pad.timestamp = webkit_pad.timestamp; + output_pad.axes_length = webkit_pad.axesLength; + memcpy(output_pad.axes, webkit_pad.axes, sizeof(output_pad.axes)); + output_pad.buttons_length = webkit_pad.buttonsLength; + memcpy(output_pad.buttons, + webkit_pad.buttons, + sizeof(output_pad.buttons)); + } + } +} + } // namespace ppapi } // namespace webkit |