Example #1
0
static void winraw_grab_mouse(void *d, bool grab)
{
   bool r             = false;
   winraw_input_t *wr = (winraw_input_t*)d;

   if (grab == wr->mouse_grab)
      return;

   r = winraw_set_mouse_input(wr->window, grab);
   if (!r)
      return;

   wr->mouse_grab = grab;
}
Example #2
0
static void winraw_free(void *d)
{
   winraw_input_t *wr = (winraw_input_t*)d;

   if (wr->joypad)
      wr->joypad->destroy();
   winraw_set_mouse_input(NULL, false);
   winraw_set_keyboard_input(NULL);
   winraw_destroy_window(wr->window);
   free(g_mice);
   free(g_keyboard);
   free(wr->mice);
   free(wr);

   g_mouse_xy_mapping_ready = false;
}
Example #3
0
static void winraw_grab_mouse(void *d, bool grab)
{
   winraw_input_t *wr = (winraw_input_t*)d;
   bool r;

   if (grab == wr->mouse_grab)
      return;

   r = winraw_set_mouse_input(wr->window, grab);
   if (!r)
   {
      WINRAW_ERR("Mouse grab failed.");
      return;
   }

   wr->mouse_grab = grab;
}
Example #4
0
static void winraw_free(void *d)
{
   winraw_input_t *wr = (winraw_input_t*)d;

   WINRAW_LOG("Deinitializing input driver ...");

   if (wr->joypad)
      wr->joypad->destroy();
   winraw_set_mouse_input(NULL, false);
   winraw_set_keyboard_input(NULL);
   winraw_destroy_window(wr->window);
   free(g_mice);
   free(g_keyboard);
   free(wr->mice);
   free(wr);

   WINRAW_LOG("Input driver deinitialized.");
}
Example #5
0
static void *winraw_init(const char *joypad_driver)
{
   bool r;
   winraw_input_t *wr = (winraw_input_t *)
      calloc(1, sizeof(winraw_input_t));
   g_keyboard         = (winraw_keyboard_t*)
      calloc(1, sizeof(winraw_keyboard_t));

   if (!wr || !g_keyboard)
      goto error;

   RARCH_LOG("[WINRAW]: Initializing input driver... \n");

   input_keymaps_init_keyboard_lut(rarch_key_map_winraw);

   wr->window = winraw_create_window(winraw_callback);
   if (!wr->window)
      goto error;

   r = winraw_init_devices(&g_mice, &g_mouse_cnt);
   if (!r)
      goto error;

   if (!g_mouse_cnt)
   {
      RARCH_LOG("[WINRAW]: Mouse unavailable.\n");
   }
   else
   {
      wr->mice = (winraw_mouse_t*)
         malloc(g_mouse_cnt * sizeof(winraw_mouse_t));
      if (!wr->mice)
         goto error;

      memcpy(wr->mice, g_mice, g_mouse_cnt * sizeof(winraw_mouse_t));
   }

   r = winraw_set_keyboard_input(wr->window);
   if (!r)
      goto error;

   r = winraw_set_mouse_input(wr->window, false);
   if (!r)
      goto error;

   wr->joypad = input_joypad_init_driver(joypad_driver, wr);

   return wr;

error:
   if (wr && wr->window)
   {
      winraw_set_mouse_input(NULL, false);
      winraw_set_keyboard_input(NULL);
      winraw_destroy_window(wr->window);
   }
   free(g_keyboard);
   free(g_mice);
   if (wr)
      free(wr->mice);
   free(wr);
   return NULL;
}
Example #6
0
static void *winraw_init(const char *joypad_driver)
{
   bool r;
   video_viewport_t dst_vid_info;
   struct retro_system_av_info *src_vid_info;
   winraw_input_t *wr = (winraw_input_t *)calloc(1, sizeof(winraw_input_t));
   g_keyboard         = (winraw_keyboard_t*)calloc(1, sizeof(winraw_keyboard_t));

   if (!wr || !g_keyboard)
   {
      WINRAW_ERR("calloc failed.");
      goto error;
   }

   WINRAW_LOG("Initializing input driver ...");

   input_keymaps_init_keyboard_lut(rarch_key_map_winraw);

   wr->window = winraw_create_window(winraw_callback);
   if (!wr->window)
   {
      WINRAW_ERR("winraw_create_window failed.");
      goto error;
   }

   r = winraw_init_devices(&g_mice, &g_mouse_cnt);
   if (!r)
   {
      WINRAW_ERR("winraw_init_devices failed.");
      goto error;
   }

   if (!g_mouse_cnt)
      WINRAW_LOG("Mouse unavailable.");
   else
   {
      wr->mice = (winraw_mouse_t*)malloc(g_mouse_cnt * sizeof(winraw_mouse_t));
      if (!wr->mice)
      {
         WINRAW_ERR("malloc failed.");
         goto error;
      }

      memcpy(wr->mice, g_mice, g_mouse_cnt * sizeof(winraw_mouse_t));
   }

   r = winraw_set_keyboard_input(wr->window);
   if (!r)
   {
      WINRAW_ERR("winraw_set_keyboard_input failed.");
      goto error;
   }

   r = winraw_set_mouse_input(wr->window, false);
   if (!r)
   {
      WINRAW_ERR("winraw_set_mouse_input failed.");
      goto error;
   }

   wr->joypad = input_joypad_init_driver(joypad_driver, wr);

   WINRAW_LOG("Input driver initialized.");
   return wr;

error:
   if (wr && wr->window)
   {
      winraw_set_mouse_input(NULL, false);
      winraw_set_keyboard_input(NULL);
      winraw_destroy_window(wr->window);
   }
   free(g_keyboard);
   free(g_mice);
   if (wr)
      free(wr->mice);
   free(wr);
   WINRAW_ERR("Input driver initialization failed.");
   return NULL;
}