29#include "sdl_buttons.hpp"
30#include "sdl_connection_dialog_wrapper.hpp"
31#include "sdl_widget.hpp"
32#include "sdl_widget_list.hpp"
45 [[nodiscard]]
bool setTitle(
const char* fmt, ...);
46 [[nodiscard]]
bool showInfo(
const char* fmt, ...);
47 [[nodiscard]]
bool showWarn(
const char* fmt, ...);
48 [[nodiscard]]
bool showError(
const char* fmt, ...);
50 [[nodiscard]]
bool show();
51 [[nodiscard]]
bool hide();
53 [[nodiscard]]
bool running()
const;
54 [[nodiscard]]
bool wait(
bool ignoreRdpContextQuit =
false);
56 [[nodiscard]]
bool handle(
const SDL_Event& event);
58 [[nodiscard]]
bool visible()
const override;
61 [[nodiscard]]
bool updateInternal()
override;
64 [[nodiscard]]
bool createWindow();
67 [[nodiscard]]
bool updateMsg(SdlConnectionDialogWrapper::MsgType type);
69 [[nodiscard]]
bool setModal();
71 [[nodiscard]]
bool show(SdlConnectionDialogWrapper::MsgType type,
const char* fmt, va_list ap);
72 [[nodiscard]]
bool show(SdlConnectionDialogWrapper::MsgType type);
74 [[nodiscard]]
static std::string print(
const char* fmt, va_list ap);
75 [[nodiscard]]
bool setTimer(Uint32 timeoutMS = 15000);
78 [[nodiscard]]
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;