41  BOOL init(DispClientContext* disp);
 
   42  BOOL uninit(DispClientContext* disp);
 
   44#if SDL_VERSION_ATLEAST(2, 0, 10) 
   45  BOOL handle_display_event(
const SDL_DisplayEvent* ev);
 
   48  BOOL handle_window_event(
const SDL_WindowEvent* ev);
 
   51  UINT DisplayControlCaps(UINT32 maxNumMonitors, UINT32 maxMonitorAreaFactorA,
 
   52                          UINT32 maxMonitorAreaFactorB);
 
   53  BOOL set_window_resizable();
 
   56  BOOL settings_changed();
 
   57  BOOL update_last_sent();
 
   58  UINT sendLayout(
const rdpMonitor* monitors, 
size_t nmonitors);
 
   62  static UINT DisplayControlCaps(DispClientContext* disp, UINT32 maxNumMonitors,
 
   63                                 UINT32 maxMonitorAreaFactorA, UINT32 maxMonitorAreaFactorB);
 
   64  static void OnActivated(
void* context, 
const ActivatedEventArgs* e);
 
   65  static void OnGraphicsReset(
void* context, 
const GraphicsResetEventArgs* e);
 
   66  static Uint32 SDLCALL OnTimer(Uint32 interval, 
void* param);
 
   69  DispClientContext* _disp = 
nullptr;
 
   70  int _lastSentWidth = -1;
 
   71  int _lastSentHeight = -1;
 
   72  UINT64 _lastSentDate = 0;
 
   73  int _targetWidth = -1;
 
   74  int _targetHeight = -1;
 
   75  BOOL _activated = FALSE;
 
   76  BOOL _waitingResize = FALSE;
 
   77  UINT16 _lastSentDesktopOrientation = 0;
 
   78  UINT32 _lastSentDesktopScaleFactor = 0;
 
   79  UINT32 _lastSentDeviceScaleFactor = 0;
 
   80  SDL_TimerID _timer = 0;
 
   81  unsigned _timer_retries = 0;