예제 #1
0
static void win32_display_server_destroy(void *data)
{
   dispserv_win32_t *dispserv = (dispserv_win32_t*)data;

#ifdef HAS_TASKBAR_EXT
   if (g_taskbarList && win32_taskbar_is_created())
   {
      ITaskbarList3_Release(g_taskbarList);
      g_taskbarList = NULL;
   }
#endif

   if (dispserv)
      free(dispserv);
}
예제 #2
0
static void win32_display_server_destroy(void *data)
{
   dispserv_win32_t *dispserv = (dispserv_win32_t*)data;
   
   if (win32_orig_width > 0 && win32_orig_height > 0 )
      video_display_server_switch_resolution(win32_orig_width, win32_orig_height,
         win32_orig_refresh , (float)win32_orig_refresh );

#ifdef HAS_TASKBAR_EXT
   if (g_taskbarList && win32_taskbar_is_created())
   {
      ITaskbarList3_Release(g_taskbarList);
      g_taskbarList = NULL;
   }
#endif

   if (dispserv)
      free(dispserv);
}
예제 #3
0
static bool win32_set_window_progress(void *data, int progress, bool finished)
{
   HWND              hwnd = win32_get_window();
   dispserv_win32_t *serv = (dispserv_win32_t*)data;

   if (serv)
      serv->progress      = progress;

#ifdef HAS_TASKBAR_EXT
   if (!g_taskbarList || !win32_taskbar_is_created())
      return false;

   if (progress == -1)
   {
      if (ITaskbarList3_SetProgressState(
               g_taskbarList, hwnd, TBPF_INDETERMINATE) != S_OK)
         return false;
   }
   else if (finished)
   {
      if (ITaskbarList3_SetProgressState(
               g_taskbarList, hwnd, TBPF_NOPROGRESS) != S_OK)
         return false;
   }
   else if (progress >= 0)
   {
      if (ITaskbarList3_SetProgressState(
               g_taskbarList, hwnd, TBPF_NORMAL) != S_OK)
         return false;

      if (ITaskbarList3_SetProgressValue(
               g_taskbarList, hwnd, progress, 100) != S_OK)
         return false;
   }
#endif

   return true;
}