| Index: device/gamepad/gamepad_platform_data_fetcher_win.cc
|
| diff --git a/content/browser/gamepad/gamepad_platform_data_fetcher_win.cc b/device/gamepad/gamepad_platform_data_fetcher_win.cc
|
| similarity index 84%
|
| rename from content/browser/gamepad/gamepad_platform_data_fetcher_win.cc
|
| rename to device/gamepad/gamepad_platform_data_fetcher_win.cc
|
| index c761e83858f077b33f2103fa7d40eff628bf7ccc..e3ecc1a3eb71a7843ff5dfa645beb3d1eae557b3 100644
|
| --- a/content/browser/gamepad/gamepad_platform_data_fetcher_win.cc
|
| +++ b/device/gamepad/gamepad_platform_data_fetcher_win.cc
|
| @@ -2,7 +2,7 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#include "content/browser/gamepad/gamepad_platform_data_fetcher_win.h"
|
| +#include "device/gamepad/gamepad_platform_data_fetcher_win.h"
|
|
|
| #include <stddef.h>
|
| #include <string.h>
|
| @@ -10,10 +10,8 @@
|
| #include "base/strings/stringprintf.h"
|
| #include "base/trace_event/trace_event.h"
|
| #include "base/win/windows_version.h"
|
| -#include "content/common/gamepad_hardware_buffer.h"
|
| -#include "content/common/gamepad_messages.h"
|
|
|
| -namespace content {
|
| +namespace device {
|
|
|
| using namespace blink;
|
|
|
| @@ -39,17 +37,28 @@ float NormalizeXInputAxis(SHORT value) {
|
|
|
| const WebUChar* GamepadSubTypeName(BYTE sub_type) {
|
| switch (sub_type) {
|
| - case kDeviceSubTypeGamepad: return L"GAMEPAD";
|
| - case kDeviceSubTypeWheel: return L"WHEEL";
|
| - case kDeviceSubTypeArcadeStick: return L"ARCADE_STICK";
|
| - case kDeviceSubTypeFlightStick: return L"FLIGHT_STICK";
|
| - case kDeviceSubTypeDancePad: return L"DANCE_PAD";
|
| - case kDeviceSubTypeGuitar: return L"GUITAR";
|
| - case kDeviceSubTypeGuitarAlternate: return L"GUITAR_ALTERNATE";
|
| - case kDeviceSubTypeDrumKit: return L"DRUM_KIT";
|
| - case kDeviceSubTypeGuitarBass: return L"GUITAR_BASS";
|
| - case kDeviceSubTypeArcadePad: return L"ARCADE_PAD";
|
| - default: return L"<UNKNOWN>";
|
| + case kDeviceSubTypeGamepad:
|
| + return L"GAMEPAD";
|
| + case kDeviceSubTypeWheel:
|
| + return L"WHEEL";
|
| + case kDeviceSubTypeArcadeStick:
|
| + return L"ARCADE_STICK";
|
| + case kDeviceSubTypeFlightStick:
|
| + return L"FLIGHT_STICK";
|
| + case kDeviceSubTypeDancePad:
|
| + return L"DANCE_PAD";
|
| + case kDeviceSubTypeGuitar:
|
| + return L"GUITAR";
|
| + case kDeviceSubTypeGuitarAlternate:
|
| + return L"GUITAR_ALTERNATE";
|
| + case kDeviceSubTypeDrumKit:
|
| + return L"DRUM_KIT";
|
| + case kDeviceSubTypeGuitarBass:
|
| + return L"GUITAR_BASS";
|
| + case kDeviceSubTypeArcadePad:
|
| + return L"ARCADE_PAD";
|
| + default:
|
| + return L"<UNKNOWN>";
|
| }
|
| }
|
|
|
| @@ -166,9 +175,9 @@ void GamepadPlatformDataFetcherWin::EnumerateDevices() {
|
| state.button_mask = 0;
|
|
|
| swprintf(pad.id, WebGamepad::idLengthCap,
|
| - L"%ls (%lsVendor: %04x Product: %04x)",
|
| - gamepad->id, state.mapper ? L"STANDARD GAMEPAD " : L"",
|
| - gamepad->vendor_id, gamepad->product_id);
|
| + L"%ls (%lsVendor: %04x Product: %04x)", gamepad->id,
|
| + state.mapper ? L"STANDARD GAMEPAD " : L"", gamepad->vendor_id,
|
| + gamepad->product_id);
|
|
|
| if (state.mapper)
|
| swprintf(pad.mapping, WebGamepad::mappingLengthCap, L"standard");
|
| @@ -182,8 +191,7 @@ void GamepadPlatformDataFetcherWin::GetGamepadData(WebGamepads* pads,
|
| bool devices_changed_hint) {
|
| TRACE_EVENT0("GAMEPAD", "GetGamepadData");
|
|
|
| - if (!xinput_available_ &&
|
| - !raw_input_fetcher_->Available()) {
|
| + if (!xinput_available_ && !raw_input_fetcher_->Available()) {
|
| pads->length = 0;
|
| return;
|
| }
|
| @@ -238,8 +246,7 @@ bool GamepadPlatformDataFetcherWin::GetXInputPadConnectivity(
|
| return false;
|
| } else {
|
| pad->connected = true;
|
| - swprintf(pad->id,
|
| - WebGamepad::idLengthCap,
|
| + swprintf(pad->id, WebGamepad::idLengthCap,
|
| L"Xbox 360 Controller (XInput STANDARD %ls)",
|
| GamepadSubTypeName(caps.SubType));
|
| swprintf(pad->mapping, WebGamepad::mappingLengthCap, L"standard");
|
| @@ -247,21 +254,20 @@ bool GamepadPlatformDataFetcherWin::GetXInputPadConnectivity(
|
| }
|
| }
|
|
|
| -void GamepadPlatformDataFetcherWin::GetXInputPadData(
|
| - int i,
|
| - WebGamepad* pad) {
|
| +void GamepadPlatformDataFetcherWin::GetXInputPadData(int i, WebGamepad* pad) {
|
| XINPUT_STATE state;
|
| memset(&state, 0, sizeof(XINPUT_STATE));
|
| TRACE_EVENT_BEGIN1("GAMEPAD", "XInputGetState", "id", i);
|
| - DWORD dwResult = xinput_get_state_(platform_pad_state_[i].xinput_index,
|
| - &state);
|
| + DWORD dwResult =
|
| + xinput_get_state_(platform_pad_state_[i].xinput_index, &state);
|
| TRACE_EVENT_END1("GAMEPAD", "XInputGetState", "id", i);
|
|
|
| if (dwResult == ERROR_SUCCESS) {
|
| pad->timestamp = state.dwPacketNumber;
|
| pad->buttonsLength = 0;
|
| WORD val = state.Gamepad.wButtons;
|
| -#define ADD(b) pad->buttons[pad->buttonsLength].pressed = (val & (b)) != 0; \
|
| +#define ADD(b) \
|
| + pad->buttons[pad->buttonsLength].pressed = (val & (b)) != 0; \
|
| pad->buttons[pad->buttonsLength++].value = ((val & (b)) ? 1.f : 0.f);
|
| ADD(XINPUT_GAMEPAD_A);
|
| ADD(XINPUT_GAMEPAD_B);
|
| @@ -271,14 +277,14 @@ void GamepadPlatformDataFetcherWin::GetXInputPadData(
|
| ADD(XINPUT_GAMEPAD_RIGHT_SHOULDER);
|
|
|
| pad->buttons[pad->buttonsLength].pressed =
|
| - state.Gamepad.bLeftTrigger >= XINPUT_GAMEPAD_TRIGGER_THRESHOLD;
|
| + state.Gamepad.bLeftTrigger >= XINPUT_GAMEPAD_TRIGGER_THRESHOLD;
|
| pad->buttons[pad->buttonsLength++].value =
|
| - state.Gamepad.bLeftTrigger / 255.f;
|
| + state.Gamepad.bLeftTrigger / 255.f;
|
|
|
| pad->buttons[pad->buttonsLength].pressed =
|
| - state.Gamepad.bRightTrigger >= XINPUT_GAMEPAD_TRIGGER_THRESHOLD;
|
| + state.Gamepad.bRightTrigger >= XINPUT_GAMEPAD_TRIGGER_THRESHOLD;
|
| pad->buttons[pad->buttonsLength++].value =
|
| - state.Gamepad.bRightTrigger / 255.f;
|
| + state.Gamepad.bRightTrigger / 255.f;
|
|
|
| ADD(XINPUT_GAMEPAD_BACK);
|
| ADD(XINPUT_GAMEPAD_START);
|
| @@ -292,7 +298,8 @@ void GamepadPlatformDataFetcherWin::GetXInputPadData(
|
| pad->axesLength = 0;
|
|
|
| float value = 0.0;
|
| -#define ADD(a, factor) value = factor * NormalizeXInputAxis(a); \
|
| +#define ADD(a, factor) \
|
| + value = factor * NormalizeXInputAxis(a); \
|
| pad->axes[pad->axesLength++] = value;
|
|
|
| // XInput are +up/+right, -down/-left, we want -up/-left.
|
| @@ -306,9 +313,8 @@ void GamepadPlatformDataFetcherWin::GetXInputPadData(
|
| }
|
| }
|
|
|
| -void GamepadPlatformDataFetcherWin::GetRawInputPadData(
|
| - int index,
|
| - WebGamepad* pad) {
|
| +void GamepadPlatformDataFetcherWin::GetRawInputPadData(int index,
|
| + WebGamepad* pad) {
|
| RawGamepadInfo* gamepad = raw_input_fetcher_->GetGamepadInfo(
|
| platform_pad_state_[index].raw_input_handle);
|
| if (!gamepad) {
|
| @@ -318,7 +324,7 @@ void GamepadPlatformDataFetcherWin::GetRawInputPadData(
|
|
|
| pad->timestamp = gamepad->report_id;
|
| pad->buttonsLength = gamepad->buttons_length;
|
| - pad->axesLength = gamepad->axes_length;
|
| + pad->axesLength = gamepad->axes_length;
|
|
|
| for (unsigned int i = 0; i < pad->buttonsLength; i++) {
|
| pad->buttons[i].pressed = gamepad->buttons[i];
|
| @@ -349,4 +355,4 @@ bool GamepadPlatformDataFetcherWin::GetXInputDllFunctions() {
|
| return true;
|
| }
|
|
|
| -} // namespace content
|
| +} // namespace device
|
|
|