29#include "sdl_buttons.hpp" 
   30#include "sdl_connection_dialog_wrapper.hpp" 
   31#include "sdl_widget.hpp" 
   32#include "sdl_widget_list.hpp" 
   45  bool setTitle(
const char* fmt, ...);
 
   46  bool showInfo(
const char* fmt, ...);
 
   47  bool showWarn(
const char* fmt, ...);
 
   48  bool showError(
const char* fmt, ...);
 
   54  bool wait(
bool ignoreRdpContextQuit = 
false);
 
   56  bool handle(
const SDL_Event& event);
 
   58  bool visible() 
const override;
 
   61  bool updateInternal() 
override;
 
   67  bool updateMsg(SdlConnectionDialogWrapper::MsgType type);
 
   71  bool show(SdlConnectionDialogWrapper::MsgType type, 
const char* fmt, va_list ap);
 
   72  bool show(SdlConnectionDialogWrapper::MsgType type);
 
   74  static std::string print(
const char* fmt, va_list ap);
 
   75  bool setTimer(Uint32 timeoutMS = 15000);
 
   78  static Uint32 timeout(
void* pvthis, SDL_TimerID timerID, Uint32 intervalMS);
 
   82    SDL_Color fgcolor = {};
 
   83    SDL_Color bgcolor = {};
 
   87  rdpContext* _context = 
nullptr;
 
   88  mutable std::mutex _mux;
 
   91  SdlConnectionDialogWrapper::MsgType _type_active = SdlConnectionDialogWrapper::MSG_NONE;
 
   92  SDL_TimerID _timer = 0;
 
   93  bool _running = 
false;
 
   94  std::vector<widget_cfg_t> _list;