22#include <winpr/synch.h> 
   23#include <winpr/wlog.h> 
   31#include <sdl_common_utils.hpp> 
   33template <
typename T> 
using deleted_unique_ptr = std::unique_ptr<T, std::function<void(T*)>>;
 
   37  SDL_EVENT_USER_UPDATE = SDL_EVENT_USER + 1,
 
   38  SDL_EVENT_USER_CREATE_WINDOWS,
 
   39  SDL_EVENT_USER_WINDOW_RESIZEABLE,
 
   40  SDL_EVENT_USER_WINDOW_FULLSCREEN,
 
   41  SDL_EVENT_USER_WINDOW_MINIMIZE,
 
   42  SDL_EVENT_USER_POINTER_NULL,
 
   43  SDL_EVENT_USER_POINTER_DEFAULT,
 
   44  SDL_EVENT_USER_POINTER_POSITION,
 
   45  SDL_EVENT_USER_POINTER_SET,
 
   47  SDL_EVENT_USER_CERT_DIALOG,
 
   48  SDL_EVENT_USER_SHOW_DIALOG,
 
   49  SDL_EVENT_USER_AUTH_DIALOG,
 
   50  SDL_EVENT_USER_SCARD_DIALOG,
 
   51  SDL_EVENT_USER_RETRY_DIALOG,
 
   53  SDL_EVENT_USER_CERT_RESULT,
 
   54  SDL_EVENT_USER_SHOW_RESULT,
 
   55  SDL_EVENT_USER_AUTH_RESULT,
 
   56  SDL_EVENT_USER_SCARD_RESULT
 
   70bool sdl_push_user_event(Uint32 type, ...);
 
   74std::string sdl_window_event_str(Uint32 ev);
 
   75const char* sdl_event_type_str(Uint32 type);
 
   76const char* sdl_error_string(Sint32 res);
 
   78#define sdl_log_error(res, log, what) sdl_log_error_ex(res, log, what, __FILE__, __LINE__, __func__) 
   79BOOL sdl_log_error_ex(Sint32 res, wLog* log, 
const char* what, 
const char* file, 
size_t line,
 
   84  std::string rdp_orientation_to_str(uint32_t orientation);
 
   85  std::string sdl_orientation_to_str(SDL_DisplayOrientation orientation);
 
   86  UINT32 orientaion_to_rdp(SDL_DisplayOrientation orientation);
 
   88  std::string generate_uuid_v4();