您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ AXIS_NEG_GET函数代码示例

51自学网 2021-06-01 19:39:05
  C++
这篇教程C++ AXIS_NEG_GET函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中AXIS_NEG_GET函数的典型用法代码示例。如果您正苦于以下问题:C++ AXIS_NEG_GET函数的具体用法?C++ AXIS_NEG_GET怎么用?C++ AXIS_NEG_GET使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了AXIS_NEG_GET函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: sdl_joypad_axis

static int16_t sdl_joypad_axis(unsigned port, uint32_t joyaxis){   if (joyaxis == AXIS_NONE)      return 0;   const struct sdl_joypad *pad = &g_pads[port];   if (!pad->joypad)      return false;   Sint16 val = 0;   if (AXIS_NEG_GET(joyaxis) < pad->num_axes)   {      val = SDL_JoystickGetAxis(pad->joypad, AXIS_NEG_GET(joyaxis));      if (val > 0)         val = 0;      else if (val < -0x7fff) // -0x8000 can cause trouble if we later abs() it.         val = -0x7fff;   }   else if (AXIS_POS_GET(joyaxis) < pad->num_axes)   {      val = SDL_JoystickGetAxis(pad->joypad, AXIS_POS_GET(joyaxis));      if (val < 0)         val = 0;   }   return val;}
开发者ID:CatalystG,项目名称:RetroArch,代码行数:29,


示例2: libusb_hid_joypad_axis

static int16_t libusb_hid_joypad_axis(void *data,      unsigned port, uint32_t joyaxis){   libusb_hid_t         *hid = (libusb_hid_t*)data;   int16_t               val = 0;   if (joyaxis == AXIS_NONE)      return 0;   if (AXIS_NEG_GET(joyaxis) < 4)   {      val = pad_connection_get_axis(&hid->slots[port],            port, AXIS_NEG_GET(joyaxis));      if (val >= 0)         val = 0;   }   else if(AXIS_POS_GET(joyaxis) < 4)   {      val = pad_connection_get_axis(&hid->slots[port],            port, AXIS_POS_GET(joyaxis));      if (val <= 0)         val = 0;   }   return val;}
开发者ID:sergiobenrocha2,项目名称:RetroArch,代码行数:28,


示例3: iohidmanager_hid_joypad_axis

static int16_t iohidmanager_hid_joypad_axis(void *data,      unsigned port, uint32_t joyaxis){   iohidmanager_hid_t   *hid = (iohidmanager_hid_t*)data;   int16_t               val = 0;   if (joyaxis == AXIS_NONE)      return 0;   if (AXIS_NEG_GET(joyaxis) < 6)   {      val += hid->axes[port][AXIS_NEG_GET(joyaxis)];      val += pad_connection_get_axis(&hid->slots[port],            port, AXIS_NEG_GET(joyaxis));      if (val >= 0)         val = 0;   }   else if(AXIS_POS_GET(joyaxis) < 6)   {      val += hid->axes[port][AXIS_POS_GET(joyaxis)];      val += pad_connection_get_axis(&hid->slots[port],            port, AXIS_POS_GET(joyaxis));      if (val <= 0)         val = 0;   }   return val;}
开发者ID:Monroe88,项目名称:RetroArch,代码行数:30,


示例4: sdl_joypad_axis

static int16_t sdl_joypad_axis(unsigned port, uint32_t joyaxis){   sdl_joypad_t *pad;   int16_t val       = 0;   if (joyaxis == AXIS_NONE)      return 0;   pad = (sdl_joypad_t*)&sdl_pads[port];   if (!pad->joypad)      return false;   if (AXIS_NEG_GET(joyaxis) < pad->num_axes)   {      val = sdl_pad_get_axis(pad, AXIS_NEG_GET(joyaxis));      if (val > 0)         val = 0;      else if (val < -0x7fff) /* -0x8000 can cause trouble if we later abs() it. */         val = -0x7fff;   }   else if (AXIS_POS_GET(joyaxis) < pad->num_axes)   {      val = sdl_pad_get_axis(pad, AXIS_POS_GET(joyaxis));      if (val < 0)         val = 0;   }   return val;}
开发者ID:DoctorGoat,项目名称:RetroArch_LibNX,代码行数:31,


示例5: android_joypad_axis

static int16_t android_joypad_axis(unsigned port, uint32_t joyaxis){   int val                  = 0;   int axis                 = -1;   bool is_neg              = false;   bool is_pos              = false;   driver_t *driver         = driver_get_ptr();   android_input_t *android = (android_input_t*)driver->input_data;   if (!android || joyaxis == AXIS_NONE || port >= MAX_PADS)      return 0;   if (AXIS_NEG_GET(joyaxis) < MAX_AXIS)   {      axis = AXIS_NEG_GET(joyaxis);      is_neg = true;   }   else if (AXIS_POS_GET(joyaxis) < MAX_AXIS)   {      axis = AXIS_POS_GET(joyaxis);      is_pos = true;   }   val = android->analog_state[port][axis];   if (is_neg && val > 0)      val = 0;   else if (is_pos && val < 0)      val = 0;   return val;}
开发者ID:gbraad,项目名称:RetroArch,代码行数:32,


示例6: sdl_axis_analog

static int16_t sdl_axis_analog(sdl_input_t *sdl, unsigned port_num, uint32_t joyaxis){   if (joyaxis == AXIS_NONE)      return 0;   Sint16 val = 0;   if (AXIS_NEG_GET(joyaxis) < sdl->num_axes[port_num])   {      val = SDL_JoystickGetAxis(sdl->joysticks[port_num], AXIS_NEG_GET(joyaxis));      if (val > 0)         val = 0;      else if (val < -0x8000) // -0x8000 can cause trouble if we later abs() it.         val = -0x7fff;   }   else if (AXIS_POS_GET(joyaxis) < sdl->num_axes[port_num])   {      val = SDL_JoystickGetAxis(sdl->joysticks[port_num], AXIS_POS_GET(joyaxis));      if (val < 0)         val = 0;   }   return val;}
开发者ID:damariei,项目名称:RetroArch-Rpi,代码行数:25,


示例7: rwebpad_joypad_axis

static int16_t rwebpad_joypad_axis(unsigned port_num, uint32_t joyaxis){   EmscriptenGamepadEvent gamepad_state;   EMSCRIPTEN_RESULT r;   int16_t val = 0;   if (joyaxis == 0xFFFFFFFF)      return 0;   r = emscripten_get_gamepad_status(port_num, &gamepad_state);   if (r == EMSCRIPTEN_RESULT_SUCCESS)   {      if (AXIS_NEG_GET(joyaxis) < gamepad_state.numAxes)      {         val = CLAMPDOUBLE(gamepad_state.axis[AXIS_NEG_GET(joyaxis)]) * 0x7FFF;         if (val > 0)            val = 0;      }      else if (AXIS_POS_GET(joyaxis) < gamepad_state.numAxes)      {         val = CLAMPDOUBLE(gamepad_state.axis[AXIS_POS_GET(joyaxis)]) * 0x7FFF;         if (val < 0)            val = 0;      }   }   return val;}
开发者ID:Monroe88,项目名称:RetroArch,代码行数:29,


示例8: linuxraw_joypad_axis

static int16_t linuxraw_joypad_axis(unsigned port, uint32_t joyaxis){   int16_t val = 0;   const struct linuxraw_joypad *pad = NULL;   if (joyaxis == AXIS_NONE)      return 0;   pad = (const struct linuxraw_joypad*)&linuxraw_pads[port];   if (AXIS_NEG_GET(joyaxis) < NUM_AXES)   {      val = pad->axes[AXIS_NEG_GET(joyaxis)];      if (val > 0)         val = 0;      /* Kernel returns values in range [-0x7fff, 0x7fff]. */   }   else if (AXIS_POS_GET(joyaxis) < NUM_AXES)   {      val = pad->axes[AXIS_POS_GET(joyaxis)];      if (val < 0)         val = 0;   }   return val;}
开发者ID:lordixi,项目名称:RetroArch,代码行数:26,


示例9: apple_joypad_axis

static int16_t apple_joypad_axis(unsigned port, uint32_t joyaxis){   apple_input_data_t *apple = (apple_input_data_t*)driver.input_data;   int16_t val = 0;   if (!apple || joyaxis == AXIS_NONE)      return 0;   if (AXIS_NEG_GET(joyaxis) < 4)   {      val = apple->axes[port][AXIS_NEG_GET(joyaxis)];      val += pad_connection_get_axis(&slots[port], port, AXIS_NEG_GET(joyaxis));      if (val >= 0)         val = 0;   }   else if(AXIS_POS_GET(joyaxis) < 4)   {      val = apple->axes[port][AXIS_POS_GET(joyaxis)];      val += pad_connection_get_axis(&slots[port], port, AXIS_POS_GET(joyaxis));      if (val <= 0)         val = 0;   }   return val;}
开发者ID:maddox,项目名称:RetroArch,代码行数:27,


示例10: input_get_bind_string

void input_get_bind_string(char *buf, const struct retro_keybind *bind, size_t size){   *buf = '/0';   if (bind->joykey != NO_BTN)   {      if (driver.input->set_keybinds)      {         struct platform_bind key_label;         strlcpy(key_label.desc, "Unknown", sizeof(key_label.desc));         key_label.joykey = bind->joykey;         driver.input->set_keybinds(&key_label, 0, 0, 0, (1ULL << KEYBINDS_ACTION_GET_BIND_LABEL));         snprintf(buf, size, "%s (btn) ", key_label.desc);      }      else if (GET_HAT_DIR(bind->joykey))      {         const char *dir;         switch (GET_HAT_DIR(bind->joykey))         {            case HAT_UP_MASK: dir = "up"; break;            case HAT_DOWN_MASK: dir = "down"; break;            case HAT_LEFT_MASK: dir = "left"; break;            case HAT_RIGHT_MASK: dir = "right"; break;            default: dir = "?"; break;         }         snprintf(buf, size, "Hat #%u %s ", (unsigned)GET_HAT(bind->joykey), dir);      }      else         snprintf(buf, size, "%u (btn) ", (unsigned)bind->joykey);   }   else if (bind->joyaxis != AXIS_NONE)   {      unsigned axis = 0;      char dir = '/0';      if (AXIS_NEG_GET(bind->joyaxis) != AXIS_DIR_NONE)      {         dir = '-';         axis = AXIS_NEG_GET(bind->joyaxis);      }      else if (AXIS_POS_GET(bind->joyaxis) != AXIS_DIR_NONE)      {         dir = '+';         axis = AXIS_POS_GET(bind->joyaxis);      }      snprintf(buf, size, "%c%u (axis) ", dir, axis);   }#ifndef RARCH_CONSOLE   char key[64];   input_translate_rk_to_str(bind->key, key, sizeof(key));   if (!strcmp(key, "nul"))      *key = '/0';   char keybuf[64];   snprintf(keybuf, sizeof(keybuf), "(Key: %s)", key);   strlcat(buf, keybuf, size);#endif}
开发者ID:AampApps,项目名称:RetroArch,代码行数:57,


示例11: dinput_joypad_axis

static int16_t dinput_joypad_axis(unsigned port_num, uint32_t joyaxis){    const struct dinput_joypad *pad = NULL;    int val = 0;    int axis    = -1;    bool is_neg = false;    bool is_pos = false;    if (joyaxis == AXIS_NONE)        return 0;    pad = &g_pads[port_num];    if (!pad->joypad)        return 0;    if (AXIS_NEG_GET(joyaxis) <= 5)    {        axis = AXIS_NEG_GET(joyaxis);        is_neg = true;    }    else if (AXIS_POS_GET(joyaxis) <= 5)    {        axis = AXIS_POS_GET(joyaxis);        is_pos = true;    }    switch (axis)    {    case 0:        val = pad->joy_state.lX;        break;    case 1:        val = pad->joy_state.lY;        break;    case 2:        val = pad->joy_state.lZ;        break;    case 3:        val = pad->joy_state.lRx;        break;    case 4:        val = pad->joy_state.lRy;        break;    case 5:        val = pad->joy_state.lRz;        break;    }    if (is_neg && val > 0)        val = 0;    else if (is_pos && val < 0)        val = 0;    return val;}
开发者ID:lordixi,项目名称:RetroArch,代码行数:55,


示例12: winxinput_joypad_axis

static int16_t winxinput_joypad_axis (unsigned port_num, uint32_t joyaxis){   if (joyaxis == AXIS_NONE)      return 0;   int xplayer = pad_index_to_xplayer_index(port_num);   if (xplayer == -1)      return dinput_joypad.axis(port_num, joyaxis);   if (!(g_winxinput_states[xplayer].connected))      return false;   int16_t val  = 0;   int     axis = -1;   bool is_neg = false;   bool is_pos = false;   if (AXIS_NEG_GET(joyaxis) <= 3) // triggers (axes 4,5) cannot be negative   {      axis = AXIS_NEG_GET(joyaxis);      is_neg = true;   }   else if (AXIS_POS_GET(joyaxis) <= 5)   {      axis = AXIS_POS_GET(joyaxis);      is_pos = true;   }   XINPUT_GAMEPAD* pad = &(g_winxinput_states[xplayer].xstate.Gamepad);   switch (axis)   {      case 0: val = pad->sThumbLX; break;      case 1: val = pad->sThumbLY; break;      case 2: val = pad->sThumbRX; break;      case 3: val = pad->sThumbRY; break;      case 4: val = pad->bLeftTrigger  * 32767 / 255; break; // map 0..255 to 0..32767      case 5: val = pad->bRightTrigger * 32767 / 255; break;   }   if (is_neg && val > 0)      val = 0;   else if (is_pos && val < 0)      val = 0;   // Clamp to avoid overflow error   if (val == -32768)      val = -32767;   return val;}
开发者ID:AbelFlos,项目名称:RetroArch,代码行数:54,


示例13: input_get_bind_string_joyaxis

static void input_get_bind_string_joyaxis(char *buf, const char *prefix, const struct retro_keybind *bind, size_t size){   unsigned axis = 0;   char dir = '/0';   if (AXIS_NEG_GET(bind->joyaxis) != AXIS_DIR_NONE)   {      dir = '-';      axis = AXIS_NEG_GET(bind->joyaxis);   }   else if (AXIS_POS_GET(bind->joyaxis) != AXIS_DIR_NONE)   {      dir = '+';      axis = AXIS_POS_GET(bind->joyaxis);   }   snprintf(buf, size, "%s%c%u (axis) ", prefix, dir, axis);}
开发者ID:ChowZenki,项目名称:RetroArch,代码行数:16,


示例14: input_get_bind_string

void input_get_bind_string(char *buf, const struct retro_keybind *bind, size_t size){   *buf = '/0';   if (bind->joykey != NO_BTN)   {      if (GET_HAT_DIR(bind->joykey))      {         const char *dir;         switch (GET_HAT_DIR(bind->joykey))         {            case HAT_UP_MASK: dir = "up"; break;            case HAT_DOWN_MASK: dir = "down"; break;            case HAT_LEFT_MASK: dir = "left"; break;            case HAT_RIGHT_MASK: dir = "right"; break;            default: dir = "?"; break;         }         snprintf(buf, size, "Hat #%u %s ", (unsigned)GET_HAT(bind->joykey), dir);      }      else         snprintf(buf, size, "%u (btn) ", (unsigned)bind->joykey);   }   else if (bind->joyaxis != AXIS_NONE)   {      unsigned axis = 0;      char dir = '/0';      if (AXIS_NEG_GET(bind->joyaxis) != AXIS_DIR_NONE)      {         dir = '-';         axis = AXIS_NEG_GET(bind->joyaxis);      }      else if (AXIS_POS_GET(bind->joyaxis) != AXIS_DIR_NONE)      {         dir = '+';         axis = AXIS_POS_GET(bind->joyaxis);      }      snprintf(buf, size, "%c%u (axis) ", dir, axis);   }   char key[64];   input_translate_rk_to_str(bind->key, key, sizeof(key));   if (!strcmp(key, "nul"))      *key = '/0';   char keybuf[64];   snprintf(keybuf, sizeof(keybuf), "(Key: %s)", key);   strlcat(buf, keybuf, size);}
开发者ID:AbelFlos,项目名称:RetroArch,代码行数:47,


示例15: ps3_joypad_axis

static int16_t ps3_joypad_axis(unsigned port_num, uint32_t joyaxis){   ps3_input_t *ps3 = (ps3_input_t*)driver.input_data;   if (!ps3 || joyaxis == AXIS_NONE || port_num >= MAX_PADS)      return 0;   int val = 0;   int axis    = -1;   bool is_neg = false;   bool is_pos = false;   if (AXIS_NEG_GET(joyaxis) < 4)   {      axis = AXIS_NEG_GET(joyaxis);      is_neg = true;   }   else if (AXIS_POS_GET(joyaxis) < 4)   {      axis = AXIS_POS_GET(joyaxis);      is_pos = true;   }   switch (axis)   {      case 0:         val = ps3->analog_state[port_num][0][0];         break;      case 1:         val = ps3->analog_state[port_num][0][1];         break;      case 2:         val = ps3->analog_state[port_num][1][0];         break;      case 3:         val = ps3->analog_state[port_num][1][1];         break;   }   if (is_neg && val > 0)      val = 0;   else if (is_pos && val < 0)      val = 0;   return val;}
开发者ID:CyberShadow,项目名称:RetroArch,代码行数:47,


示例16: switch_joypad_axis

static int16_t switch_joypad_axis(unsigned port_num, uint32_t joyaxis){   int val = 0;   int axis = -1;   bool is_neg = false;   bool is_pos = false;   if(joyaxis == AXIS_NONE || port_num >= MAX_PADS)   {      /* TODO/FIXME - implement */   }   if(AXIS_NEG_GET(joyaxis) < 4)   {      axis = AXIS_NEG_GET(joyaxis);      is_neg = true;   }   else if(AXIS_POS_GET(joyaxis) < 4)   {      axis = AXIS_POS_GET(joyaxis);      is_pos = true;   }   switch(axis)   {      case 0:         val = analog_state[port_num][0][0];         break;      case 1:         val = analog_state[port_num][0][1];         break;      case 2:         val = analog_state[port_num][1][0];         break;      case 3:         val = analog_state[port_num][1][1];         break;   }   if(is_neg && val > 0)      val = 0;   else if(is_pos && val < 0)      val = 0;   return val;}
开发者ID:SuperrSonic,项目名称:RetroArch,代码行数:46,


示例17: qnx_joypad_axis

static int16_t qnx_joypad_axis(unsigned port_num, uint32_t joyaxis){   int val             = 0;   int axis            = -1;   bool is_neg         = false;   bool is_pos         = false;   driver_t    *driver = driver_get_ptr();   qnx_input_t *qnx    = (qnx_input_t*)driver->input_data;   if (!qnx || joyaxis == AXIS_NONE || port_num >= MAX_PADS)      return 0;   if (AXIS_NEG_GET(joyaxis) < 4)   {      axis = AXIS_NEG_GET(joyaxis);      is_neg = true;   }   else if (AXIS_POS_GET(joyaxis) < 4)   {      axis = AXIS_POS_GET(joyaxis);      is_pos = true;   }   switch (axis)   {      case 0:         val = qnx->analog_state[port_num][0][0];         break;      case 1:         val = qnx->analog_state[port_num][0][1];         break;      case 2:         val = qnx->analog_state[port_num][1][0];         break;      case 3:         val = qnx->analog_state[port_num][1][1];         break;   }   if (is_neg && val > 0)      val = 0;   else if (is_pos && val < 0)      val = 0;   return val;}
开发者ID:brianblakely,项目名称:RetroArch,代码行数:46,


示例18: apple_joypad_axis

static int16_t apple_joypad_axis(unsigned port, uint32_t joyaxis){   if (joyaxis == AXIS_NONE)      return 0;   int16_t val = 0;   if (AXIS_NEG_GET(joyaxis) < 4)   {      val = g_polled_input_data.pad_axis[port][AXIS_NEG_GET(joyaxis)];      val = (val < 0) ? val : 0;   }   else if(AXIS_POS_GET(joyaxis) < 4)   {      val = g_polled_input_data.pad_axis[port][AXIS_POS_GET(joyaxis)];      val = (val > 0) ? val : 0;   }   return val;}
开发者ID:AreaScout,项目名称:retro,代码行数:19,


示例19: input_config_get_bind_string_joyaxis

static void input_config_get_bind_string_joyaxis(char *buf, const char *prefix,      const struct retro_keybind *bind, size_t size){   unsigned axis        = 0;   char dir             = '/0';   settings_t *settings = config_get_ptr();   if (AXIS_NEG_GET(bind->joyaxis) != AXIS_DIR_NONE)   {      dir = '-';      axis = AXIS_NEG_GET(bind->joyaxis);   }   else if (AXIS_POS_GET(bind->joyaxis) != AXIS_DIR_NONE)   {      dir = '+';      axis = AXIS_POS_GET(bind->joyaxis);   }   if (!string_is_empty(bind->joyaxis_label) && settings->input.input_descriptor_label_show)      snprintf(buf, size, "%s%s (axis) ", prefix, bind->joyaxis_label);   else      snprintf(buf, size, "%s%c%u (axis) ", prefix, dir, axis);}
开发者ID:AkimanBengus,项目名称:RetroArch,代码行数:22,


示例20: android_joypad_axis

static int16_t android_joypad_axis(unsigned port, uint32_t joyaxis){   int val                  = 0;   struct android_app *android_app = (struct android_app*)g_android;   if (joyaxis == AXIS_NONE)      return 0;   if (AXIS_NEG_GET(joyaxis) < MAX_AXIS)   {      val = android_app->analog_state[port][AXIS_NEG_GET(joyaxis)];      if (val > 0)         val = 0;   }   else if (AXIS_POS_GET(joyaxis) < MAX_AXIS)   {      val = android_app->analog_state[port][AXIS_POS_GET(joyaxis)];      if (val < 0)         val = 0;   }   return val;}
开发者ID:joolswills,项目名称:RetroArch,代码行数:23,



注:本文中的AXIS_NEG_GET函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ AXIS_POS_GET函数代码示例
C++ AXIS2_PARAM_CHECK函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。