rodecomp/Source/UI/Window/WindowDialogs.h
ragnarok-clanker a47d20f8be Reconstruct readable C++ and organize cohesive source subsystems
Administrative source import: native x86 compilation passed for 423 authored units. Source placement and submission states are migrated separately; this commit does not imply peer acceptance.

Previous head: 35d2a8cb36
Payload SHA256: 592f016d2730c5593bb653aa054c1e5f76a6df72c8f5a09e66f74876e2e33dee
2026-10-25 07:42:41 +00:00

44 lines
1,021 B
C++

#ifndef RAGNAROK_SOURCE_UI_WINDOW_WINDOWDIALOGS_H
#define RAGNAROK_SOURCE_UI_WINDOW_WINDOWDIALOGS_H
#include <deque>
#include <map>
#include <set>
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<UIWindow*>& suspendedRoots;
WindowAncestry*& capture;
WindowAncestry*& input;
std::deque<UIWindow*>& modal;
int& alternateResult;
UIMessageBox*& latest;
ModalFramePump*& mode;
const bool& suppressed;
const int& immediate;
const std::map<int, int>& 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