rodecomp/Source/UI/Acceptance/UIJoinPartyAcceptWnd.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

65 lines
2.2 KiB
C++

#ifndef RAGNAROK_SOURCE_UI_ACCEPTANCE_UIJOINPARTYACCEPTWND_H
#define RAGNAROK_SOURCE_UI_ACCEPTANCE_UIJOINPARTYACCEPTWND_H
#include "Contents/Items/ItemInfo.h"
#include "UI/Window/UIFrameWnd.h"
class UITextViewer;
struct UITextViewerContext;
struct WindowResponseRecorder;
struct NormalItemSlotWindow;
struct UIAcceptanceContext {
UITextViewerContext& text;
WindowResponseRecorder& recorder;
const int& screenWidth;
const int& screenHeight;
const int& service;
std::list<ItemInfo>& firstShopItems;
std::list<ItemInfo>& secondShopItems;
std::list<ItemInfo>& thirdShopItems;
int& replayShopState;
std::string& replayExchangeName;
};
class UIChooseSellBuyWnd : public UIFrameWnd {
public:
UIChooseSellBuyWnd(UIWindowContext& windows, UIFrameContext& frames, UIAcceptanceContext& acceptance);
~UIChooseSellBuyWnd() override;
void Slot15(int width, int height) override;
void Paint() override;
int SendMsg(UIWindow* sender, int message, std::intptr_t a, std::intptr_t b, std::intptr_t c, std::intptr_t d) override;
/* 00B4 */ std::uint32_t identity;
/* 00B8 */ UITextViewer* viewer;
protected:
UIAcceptanceContext* m_acceptance;
void AddChoice(const char* name, int id, int x, int y);
void CreateViewer(int width, int height);
};
class UIExchangeAcceptWnd : public UIChooseSellBuyWnd {
public:
UIExchangeAcceptWnd(UIWindowContext& windows, UIFrameContext& frames, UIAcceptanceContext& acceptance);
~UIExchangeAcceptWnd() override;
void Slot15(int width, int height) override;
int SendMsg(UIWindow* sender, int message, std::intptr_t a, std::intptr_t b, std::intptr_t c, std::intptr_t d) override;
/* 00BC */ NormalItemSlotWindow* saved;
};
class UIJoinPartyAcceptWnd : public UIExchangeAcceptWnd {
public:
UIJoinPartyAcceptWnd(UIWindowContext& windows, UIFrameContext& frames, UIAcceptanceContext& acceptance);
~UIJoinPartyAcceptWnd() override;
int SendMsg(UIWindow* sender, int message, std::intptr_t a, std::intptr_t b, std::intptr_t c, std::intptr_t d) override;
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(UIChooseSellBuyWnd) == 200);
static_assert(sizeof(UIExchangeAcceptWnd) == 204);
static_assert(sizeof(UIJoinPartyAcceptWnd) == 204);
#endif
#endif