rodecomp/Source/UI/Lists/UIComboBoxEx.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

50 lines
1.4 KiB
C++

#ifndef RAGNAROK_SOURCE_UI_LISTS_UICOMBOBOXEX_H
#define RAGNAROK_SOURCE_UI_LISTS_UICOMBOBOXEX_H
#include "UI/Lists/UIListBoxEx.h"
struct UIComboBoxContext {
UIListBoxContext& list;
UIWindow* const& popup;
};
class UIComboBoxEx : public UIListBoxEx {
public:
UIComboBoxEx(UIWindowContext& windows, UIComboBoxContext& combo);
~UIComboBoxEx() override;
void Resize(int width, int height) override;
void Slot15(int width, int height) override;
void Paint() override;
void Slot25(int x, int y) override;
void Slot26(int x, int y) override;
void Slot27(int x, int y) override;
void Slot31(int x, int y) override;
int SendMsg(UIWindow* sender, int message, std::intptr_t a, std::intptr_t b, std::intptr_t c, std::intptr_t d) override;
void Configure(int x, int y, int width, int height, unsigned char transparent) override;
void Refresh() override;
/* 00C0 */ int targetId;
protected:
UIComboBoxContext* m_combo;
void DrawRows(bool centered);
};
class UIComboBoxEx2 : public UIComboBoxEx {
public:
UIComboBoxEx2(UIWindowContext& windows, UIComboBoxContext& combo);
~UIComboBoxEx2() override;
void Resize(int width, int height) override;
void Slot15(int width, int height) override;
void Paint() override;
/* 00C4 */ int alignment;
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(UIComboBoxEx) == 208);
static_assert(sizeof(UIComboBoxEx2) == 212);
#endif
#endif