#ifndef RAGNAROK_SOURCE_UI_WINDOW_WINDOWDIALOGS_H #define RAGNAROK_SOURCE_UI_WINDOW_WINDOWDIALOGS_H #include #include #include class UIWindow; class UIMessageBox; struct UIWindowContext; struct UIFrameContext; struct UIMessageBoxContext; struct WindowAncestry; class ModalFramePump { public: virtual void Frame() = 0; protected: ~ModalFramePump() = default; }; struct WindowDialogs { UIWindowContext& windows; UIFrameContext& frames; UIMessageBoxContext& dialog; int& result; std::set& suspendedRoots; WindowAncestry*& capture; WindowAncestry*& input; std::deque& modal; int& alternateResult; UIMessageBox*& latest; ModalFramePump*& mode; const bool& suppressed; const int& immediate; const std::map& frameOptions; UIWindow* Top() const; void RestoreInput(); int Confirm(const char* text, int type, bool defaultAccept, bool replace, int timeout, const char* caption, int width, int height, unsigned char protect); }; #endif