| #ifndef _RIVE_WASM_GAMEPAD_WIRE_HPP_ | |
| #define _RIVE_WASM_GAMEPAD_WIRE_HPP_ | |
| #include <cstdint> | |
| namespace rive | |
| { | |
| /// Host to module layout for callGamepadEvent's invocation payload. Four byte | |
| /// fields only, so the struct is identical on both sides of the wasm | |
| /// boundary; buttonValues then axes follow as floats. | |
| struct GamepadWire | |
| { | |
| static constexpr uint32_t kindConnected = 0; | |
| static constexpr uint32_t kindEvent = 1; | |
| static constexpr uint32_t kindDisconnected = 2; | |
| uint32_t kind = 0; | |
| int32_t deviceId = 0; | |
| uint32_t mapping = 0; | |
| uint32_t buttonMaskLo = 0; | |
| uint32_t buttonMaskHi = 0; | |
| uint32_t changeKind = 0; | |
| uint32_t changeIndex = 0; | |
| float changeValue = 0; | |
| uint32_t hasStandardButtonIntent = 0; | |
| uint32_t standardButton = 0; | |
| uint32_t hasStandardAxisIntent = 0; | |
| uint32_t standardAxis = 0; | |
| uint32_t buttonCount = 0; | |
| uint32_t axisCount = 0; | |
| }; | |
| } // namespace rive | |
| #endif |