123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487 |
- /*
- Copyright (c) 2014-2022 Bruce A Henderson
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source
- distribution.
- */
- #include "SDL_haptic.h"
- #include <stdlib.h>
- void bmx_sdl_haptic_SDLHapticEffect_free(SDL_HapticEffect * effect) {
- free(effect);
- }
- // --------------------------------------------------------
- SDL_HapticConstant * bmx_sdl_haptic_SDLHapticConstant_new() {
- SDL_HapticConstant * effect = (SDL_HapticConstant*)calloc(1, sizeof(SDL_HapticConstant));
- effect->type = SDL_HAPTIC_CONSTANT;
- return effect;
- }
- SDL_HapticDirection * bmx_sdl_haptic_SDLHapticConstant_Direction(SDL_HapticConstant * effect) {
- return &effect->direction;
- }
- void bmx_sdl_haptic_SDLHapticConstant_SetLength(SDL_HapticConstant * effect, Uint32 value) {
- effect->length = value;
- }
- void bmx_sdl_haptic_SDLHapticConstant_SetDelay(SDL_HapticConstant * effect, Uint16 value) {
- effect->delay = value;
- }
- void bmx_sdl_haptic_SDLHapticConstant_SetButton(SDL_HapticConstant * effect, Uint16 value) {
- effect->button = value;
- }
- void bmx_sdl_haptic_SDLHapticConstant_SetInterval(SDL_HapticConstant * effect, Uint16 value) {
- effect->interval = value;
- }
- void bmx_sdl_haptic_SDLHapticConstant_SetLevel(SDL_HapticConstant * effect, int value) {
- effect->level = value;
- }
- void bmx_sdl_haptic_SDLHapticConstant_SetAttackLength(SDL_HapticConstant * effect, Uint16 value) {
- effect->attack_length = value;
- }
- void bmx_sdl_haptic_SDLHapticConstant_SetAttackLevel(SDL_HapticConstant * effect, Uint16 value) {
- effect->attack_level = value;
- }
- void bmx_sdl_haptic_SDLHapticConstant_SetFadeLength(SDL_HapticConstant * effect, Uint16 value) {
- effect->fade_length = value;
- }
- void bmx_sdl_haptic_SDLHapticConstant_SetFadeLevel(SDL_HapticConstant * effect, Uint16 value) {
- effect->fade_level = value;
- }
- Uint32 bmx_sdl_haptic_SDLHapticConstant_GetLength(SDL_HapticConstant * effect) {
- return effect->length;
- }
- Uint16 bmx_sdl_haptic_SDLHapticConstant_GetDelay(SDL_HapticConstant * effect) {
- return effect->delay;
- }
- Uint16 bmx_sdl_haptic_SDLHapticConstant_GetButton(SDL_HapticConstant * effect) {
- return effect->button;
- }
- Uint16 bmx_sdl_haptic_SDLHapticConstant_GetInterval(SDL_HapticConstant * effect) {
- return effect->interval;
- }
- Uint16 bmx_sdl_haptic_SDLHapticConstant_GetAttackLength(SDL_HapticConstant * effect) {
- return effect->attack_length;
- }
- Uint16 bmx_sdl_haptic_SDLHapticConstant_GetAttackLevel(SDL_HapticConstant * effect) {
- return effect->attack_level;
- }
- Uint16 bmx_sdl_haptic_SDLHapticConstant_GetFadeLength(SDL_HapticConstant * effect) {
- return effect->fade_length;
- }
- Uint16 bmx_sdl_haptic_SDLHapticConstant_GetFadeLevel(SDL_HapticConstant * effect) {
- return effect->fade_level;
- }
- // --------------------------------------------------------
- SDL_HapticPeriodic * bmx_sdl_haptic_SDLHapticPeriodic_new(int waveType) {
- SDL_HapticPeriodic * effect = (SDL_HapticPeriodic*)calloc(1, sizeof(SDL_HapticPeriodic));
- effect->type = waveType;
- return effect;
- }
- SDL_HapticDirection * bmx_sdl_haptic_SDLHapticPeriodic_Direction(SDL_HapticPeriodic * effect) {
- return &effect->direction;
- }
- void bmx_sdl_haptic_SDLHapticPeriodic_SetLength(SDL_HapticPeriodic * effect, Uint32 value) {
- effect->length = value;
- }
- void bmx_sdl_haptic_SDLHapticPeriodic_SetDelay(SDL_HapticPeriodic * effect, Uint16 value) {
- effect->delay = value;
- }
- void bmx_sdl_haptic_SDLHapticPeriodic_SetButton(SDL_HapticPeriodic * effect, Uint16 value) {
- effect->button = value;
- }
- void bmx_sdl_haptic_SDLHapticPeriodic_SetInterval(SDL_HapticPeriodic * effect, Uint16 value) {
- effect->interval = value;
- }
- void bmx_sdl_haptic_SDLHapticPeriodic_SetPeriod(SDL_HapticPeriodic * effect, Uint16 value) {
- effect->period = value;
- }
- void bmx_sdl_haptic_SDLHapticPeriodic_SetMagnitude(SDL_HapticPeriodic * effect, int value) {
- effect->magnitude = value;
- }
- void bmx_sdl_haptic_SDLHapticPeriodic_SetOffset(SDL_HapticPeriodic * effect, int value) {
- effect->offset = value;
- }
- void bmx_sdl_haptic_SDLHapticPeriodic_SetPhase(SDL_HapticPeriodic * effect, Uint16 value) {
- effect->phase = value;
- }
- void bmx_sdl_haptic_SDLHapticPeriodic_SetAttackLength(SDL_HapticPeriodic * effect, Uint16 value) {
- effect->attack_length = value;
- }
- void bmx_sdl_haptic_SDLHapticPeriodic_SetAttackLevel(SDL_HapticPeriodic * effect, Uint16 value) {
- effect->attack_level = value;
- }
- void bmx_sdl_haptic_SDLHapticPeriodic_SetFadeLength(SDL_HapticPeriodic * effect, Uint16 value) {
- effect->fade_length = value;
- }
- void bmx_sdl_haptic_SDLHapticPeriodic_SetFadeLevel(SDL_HapticPeriodic * effect, Uint16 value) {
- effect->fade_level = value;
- }
- Uint32 bmx_sdl_haptic_SDLHapticPeriodic_GetLength(SDL_HapticPeriodic * effect) {
- return effect->length;
- }
- Uint16 bmx_sdl_haptic_SDLHapticPeriodic_GetDelay(SDL_HapticPeriodic * effect) {
- return effect->delay;
- }
- Uint16 bmx_sdl_haptic_SDLHapticPeriodic_GetButton(SDL_HapticPeriodic * effect) {
- return effect->button;
- }
- Uint16 bmx_sdl_haptic_SDLHapticPeriodic_GetInterval(SDL_HapticPeriodic * effect) {
- return effect->interval;
- }
- Uint16 bmx_sdl_haptic_SDLHapticPeriodic_GetAttackLength(SDL_HapticPeriodic * effect) {
- return effect->attack_length;
- }
- Uint16 bmx_sdl_haptic_SDLHapticPeriodic_GetAttackLevel(SDL_HapticPeriodic * effect) {
- return effect->attack_level;
- }
- Uint16 bmx_sdl_haptic_SDLHapticPeriodic_GetFadeLength(SDL_HapticPeriodic * effect) {
- return effect->fade_length;
- }
- Uint16 bmx_sdl_haptic_SDLHapticPeriodic_GetFadeLevel(SDL_HapticPeriodic * effect) {
- return effect->fade_level;
- }
- // --------------------------------------------------------
- SDL_HapticCondition * bmx_sdl_haptic_SDLHapticCondition_new(int effectType) {
- SDL_HapticCondition * effect = (SDL_HapticCondition*)calloc(1, sizeof(SDL_HapticCondition));
- effect->type = effectType;
- return effect;
- }
- SDL_HapticDirection * bmx_sdl_haptic_SDLHapticCondition_Direction(SDL_HapticCondition * effect) {
- return &effect->direction;
- }
- void bmx_sdl_haptic_SDLHapticCondition_SetLength(SDL_HapticCondition * effect, Uint32 value) {
- effect->length = value;
- }
- void bmx_sdl_haptic_SDLHapticCondition_SetDelay(SDL_HapticCondition * effect, Uint16 value) {
- effect->delay = value;
- }
- void bmx_sdl_haptic_SDLHapticCondition_SetButton(SDL_HapticCondition * effect, Uint16 value) {
- effect->button = value;
- }
- void bmx_sdl_haptic_SDLHapticCondition_SetInterval(SDL_HapticCondition * effect, Uint16 value) {
- effect->interval = value;
- }
- void bmx_sdl_haptic_SDLHapticCondition_SetRightSat(SDL_HapticCondition * effect, Uint16 value1, Uint16 value2, Uint16 value3) {
- effect->right_sat[0] = value1;
- effect->right_sat[1] = value2;
- effect->right_sat[2] = value3;
- }
- void bmx_sdl_haptic_SDLHapticCondition_SetLeftSat(SDL_HapticCondition * effect, Uint16 value1, Uint16 value2, Uint16 value3) {
- effect->left_sat[0] = value1;
- effect->left_sat[1] = value2;
- effect->left_sat[2] = value3;
- }
- void bmx_sdl_haptic_SDLHapticCondition_SetRightCoeff(SDL_HapticCondition * effect, int value1, int value2, int value3) {
- effect->right_coeff[0] = value1;
- effect->right_coeff[1] = value2;
- effect->right_coeff[2] = value3;
- }
- void bmx_sdl_haptic_SDLHapticCondition_SetLeftCoeff(SDL_HapticCondition * effect, int value1, int value2, int value3) {
- effect->left_coeff[0] = value1;
- effect->left_coeff[1] = value2;
- effect->left_coeff[2] = value3;
- }
- void bmx_sdl_haptic_SDLHapticCondition_SetDeadband(SDL_HapticCondition * effect, Uint16 value1, Uint16 value2, Uint16 value3) {
- effect->deadband[0] = value1;
- effect->deadband[1] = value2;
- effect->deadband[2] = value3;
- }
- void bmx_sdl_haptic_SDLHapticCondition_SetCenter(SDL_HapticCondition * effect, int value1, int value2, int value3) {
- effect->center[0] = value1;
- effect->center[1] = value2;
- effect->center[2] = value3;
- }
- Uint32 bmx_sdl_haptic_SDLHapticCondition_GetLength(SDL_HapticCondition * effect) {
- return effect->length;
- }
- Uint16 bmx_sdl_haptic_SDLHapticCondition_GetDelay(SDL_HapticCondition * effect) {
- return effect->delay;
- }
- Uint16 bmx_sdl_haptic_SDLHapticCondition_GetButton(SDL_HapticCondition * effect) {
- return effect->button;
- }
- Uint16 bmx_sdl_haptic_SDLHapticCondition_GetInterval(SDL_HapticCondition * effect) {
- return effect->interval;
- }
- // --------------------------------------------------------
- SDL_HapticRamp * bmx_sdl_haptic_SDLHapticRamp_new() {
- SDL_HapticRamp * effect = (SDL_HapticRamp*)calloc(1, sizeof(SDL_HapticRamp));
- effect->type = SDL_HAPTIC_RAMP;
- return effect;
- }
- SDL_HapticDirection * bmx_sdl_haptic_SDLHapticRamp_Direction(SDL_HapticRamp * effect) {
- return &effect->direction;
- }
- void bmx_sdl_haptic_SDLHapticRamp_SetLength(SDL_HapticRamp * effect, Uint32 value) {
- effect->length = value;
- }
- void bmx_sdl_haptic_SDLHapticRamp_SetDelay(SDL_HapticRamp * effect, Uint16 value) {
- effect->delay = value;
- }
- void bmx_sdl_haptic_SDLHapticRamp_SetButton(SDL_HapticRamp * effect, Uint16 value) {
- effect->button = value;
- }
- void bmx_sdl_haptic_SDLHapticRamp_SetInterval(SDL_HapticRamp * effect, Uint16 value) {
- effect->interval = value;
- }
- void bmx_sdl_haptic_SDLHapticRamp_SetStart(SDL_HapticRamp * effect, int value) {
- effect->start = value;
- }
- void bmx_sdl_haptic_SDLHapticRamp_SetEnd(SDL_HapticRamp * effect, int value) {
- effect->end = value;
- }
- void bmx_sdl_haptic_SDLHapticRamp_SetAttackLength(SDL_HapticRamp * effect, Uint16 value) {
- effect->attack_length = value;
- }
- void bmx_sdl_haptic_SDLHapticRamp_SetAttackLevel(SDL_HapticRamp * effect, Uint16 value) {
- effect->attack_level = value;
- }
- void bmx_sdl_haptic_SDLHapticRamp_SetFadeLength(SDL_HapticRamp * effect, Uint16 value) {
- effect->fade_length = value;
- }
- void bmx_sdl_haptic_SDLHapticRamp_SetFadeLevel(SDL_HapticRamp * effect, Uint16 value) {
- effect->fade_level = value;
- }
- Uint32 bmx_sdl_haptic_SDLHapticRamp_GetLength(SDL_HapticRamp * effect) {
- return effect->length;
- }
- Uint16 bmx_sdl_haptic_SDLHapticRamp_GetDelay(SDL_HapticRamp * effect) {
- return effect->delay;
- }
- Uint16 bmx_sdl_haptic_SDLHapticRamp_GetButton(SDL_HapticRamp * effect) {
- return effect->button;
- }
- Uint16 bmx_sdl_haptic_SDLHapticRamp_GetInterval(SDL_HapticRamp * effect) {
- return effect->interval;
- }
- Uint16 bmx_sdl_haptic_SDLHapticRamp_GetAttackLength(SDL_HapticRamp * effect) {
- return effect->attack_length;
- }
- Uint16 bmx_sdl_haptic_SDLHapticRamp_GetAttackLevel(SDL_HapticRamp * effect) {
- return effect->attack_level;
- }
- Uint16 bmx_sdl_haptic_SDLHapticRamp_GetFadeLength(SDL_HapticRamp * effect) {
- return effect->fade_length;
- }
- Uint16 bmx_sdl_haptic_SDLHapticRamp_GetFadeLevel(SDL_HapticRamp * effect) {
- return effect->fade_level;
- }
- // --------------------------------------------------------
- SDL_HapticLeftRight * bmx_sdl_haptic_SDLHapticLeftRight_new() {
- SDL_HapticLeftRight * effect = (SDL_HapticLeftRight*)calloc(1, sizeof(SDL_HapticLeftRight));
- effect->type = SDL_HAPTIC_LEFTRIGHT;
- return effect;
- }
- void bmx_sdl_haptic_SDLHapticLeftRight_SetLength(SDL_HapticLeftRight * effect, Uint32 value) {
- effect->length = value;
- }
- void bmx_sdl_haptic_SDLHapticLeftRight_SetLargeMagnitude(SDL_HapticLeftRight * effect, Uint16 value) {
- effect->large_magnitude = value;
- }
- void bmx_sdl_haptic_SDLHapticLeftRight_SetSmallMagnitude(SDL_HapticLeftRight * effect, Uint16 value) {
- effect->small_magnitude = value;
- }
- // --------------------------------------------------------
- SDL_HapticCustom * bmx_sdl_haptic_SDLHapticCustom_new() {
- SDL_HapticCustom * effect = (SDL_HapticCustom*)calloc(1, sizeof(SDL_HapticCustom));
- effect->type = SDL_HAPTIC_CUSTOM;
- return effect;
- }
- SDL_HapticDirection * bmx_sdl_haptic_SDLHapticCustom_Direction(SDL_HapticCustom * effect) {
- return &effect->direction;
- }
- void bmx_sdl_haptic_SDLHapticCustom_SetLength(SDL_HapticCustom * effect, Uint32 value) {
- effect->length = value;
- }
- void bmx_sdl_haptic_SDLHapticCustom_SetDelay(SDL_HapticCustom * effect, Uint16 value) {
- effect->delay = value;
- }
- void bmx_sdl_haptic_SDLHapticCustom_SetButton(SDL_HapticCustom * effect, Uint16 value) {
- effect->button = value;
- }
- void bmx_sdl_haptic_SDLHapticCustom_SetInterval(SDL_HapticCustom * effect, Uint16 value) {
- effect->interval = value;
- }
- void bmx_sdl_haptic_SDLHapticCustom_SetChannels(SDL_HapticCustom * effect, Uint8 value) {
- effect->channels = value;
- }
- void bmx_sdl_haptic_SDLHapticCustom_SetPeriod(SDL_HapticCustom * effect, Uint16 value) {
- effect->period = value;
- }
- void bmx_sdl_haptic_SDLHapticCustom_SetData(SDL_HapticCustom * effect, Uint16 * data, int samples) {
- effect->samples = samples;
- effect->data = data;
- }
- void bmx_sdl_haptic_SDLHapticCustom_SetAttackLength(SDL_HapticCustom * effect, Uint16 value) {
- effect->attack_length = value;
- }
- void bmx_sdl_haptic_SDLHapticCustom_SetAttackLevel(SDL_HapticCustom * effect, Uint16 value) {
- effect->attack_level = value;
- }
- void bmx_sdl_haptic_SDLHapticCustom_SetFadeLength(SDL_HapticCustom * effect, Uint16 value) {
- effect->fade_length = value;
- }
- void bmx_sdl_haptic_SDLHapticCustom_SetFadeLevel(SDL_HapticCustom * effect, Uint16 value) {
- effect->fade_level = value;
- }
- Uint32 bmx_sdl_haptic_SDLHapticCustom_GetLength(SDL_HapticCustom * effect) {
- return effect->length;
- }
- Uint16 bmx_sdl_haptic_SDLHapticCustom_GetDelay(SDL_HapticCustom * effect) {
- return effect->delay;
- }
- Uint16 bmx_sdl_haptic_SDLHapticCustom_GetButton(SDL_HapticCustom * effect) {
- return effect->button;
- }
- Uint16 bmx_sdl_haptic_SDLHapticCustom_GetInterval(SDL_HapticCustom * effect) {
- return effect->interval;
- }
- Uint16 bmx_sdl_haptic_SDLHapticCustom_GetAttackLength(SDL_HapticCustom * effect) {
- return effect->attack_length;
- }
- Uint16 bmx_sdl_haptic_SDLHapticCustom_GetAttackLevel(SDL_HapticCustom * effect) {
- return effect->attack_level;
- }
- Uint16 bmx_sdl_haptic_SDLHapticCustom_GetFadeLength(SDL_HapticCustom * effect) {
- return effect->fade_length;
- }
- Uint16 bmx_sdl_haptic_SDLHapticCustom_GetFadeLevel(SDL_HapticCustom * effect) {
- return effect->fade_level;
- }
- // --------------------------------------------------------
- void bmx_sdl_haptic_SDLHapticDirection_SetType(SDL_HapticDirection * direction, int value) {
- direction->type = value;
- }
- void bmx_sdl_haptic_SDLHapticDirection_SetDir(SDL_HapticDirection * direction, Uint16 value1, Uint16 value2, Uint16 value3) {
- direction->dir[0] = value1;
- direction->dir[1] = value2;
- direction->dir[2] = value3;
- }
|