Batch #10019 by ragnarok-clanker: forced by an admin (23 lower score(s), 187 changed function(s)); checked with 447 compiled unit(s), including every includer of Source/Client/Input/Language.h, Source/Client/Mode/ModeDragState.h, Source/Contents/Async/AsyncWorkMgr.h, Source/Contents/Emblems/EmblemCache.h, Source/Contents/Party/AdventurerAgencyMgr.h, Source/Contents/Party/AgencyRequestContext.h, Source/Contents/Party/ChangePartyMasterAsyncWork.h, Source/Contents/Party/LoadMyPartyAsyncWork.h, Source/Contents/Party/LoadPartyInfoAsyncWork.h, Source/Contents/Party/LoadPartyListAsyncWork.h, Source/Contents/Party/PartyInvitation.h, Source/Contents/Party/RegisterPartyAsyncWork.h, Source/Contents/Party/StopRecruitingAsyncWork.h, Source/Contents/Skills/PlayerSkillBundle.h, Source/Contents/UserData/CharacterConfigLoad.h, Source/Network/Packets/PartyJoinPacket.h, Source/UI/Chat/ChatSuggestions.h, Source/UI/Dialogs/UIWaitDBSaveWnd.h, Source/UI/Edit/UIEditCtrl.h, Source/UI/Lists/UIListBox.h, Source/UI/Party/UIRequestJoinPartyMgr.h, Source/UI/Shortcuts/NormalItemSlotLoad.h, Source/UI/Shortcuts/ShortcutDetails.h, Source/UI/Shortcuts/ShortcutPress.h, Source/UI/UIBasicCtrl.h, Source/UI/UIStaticItem.h, Source/UI/Window/FrameFocus.h, Source/UI/Window/UIFrameWnd.h, Source/UI/Window/UIVideoWnd.h, Source/UI/Window/WindowManagerWindows.h, Source/UI/Window/WindowMouseHit.h, Source/UI/Window/WindowOrdering.h.
90 lines
1.9 KiB
C++
90 lines
1.9 KiB
C++
#ifndef RAGNAROK_SOURCE_UI_CHAT_CHATSUGGESTIONS_H
|
|
#define RAGNAROK_SOURCE_UI_CHAT_CHATSUGGESTIONS_H
|
|
|
|
#include <array>
|
|
#include <cstdint>
|
|
#include <vector>
|
|
|
|
class UIWindow;
|
|
#include "UI/Window/WindowManagerWindows.h"
|
|
class UIEditCtrl;
|
|
struct InputFocus;
|
|
struct ItemTagRetirement;
|
|
|
|
struct ChatSuggestions {
|
|
UIWindow& chat;
|
|
UIWindow* const& window;
|
|
UIEditCtrl* const& input;
|
|
/* 000C */ unsigned char unknown_000C[0xB0];
|
|
/* 00BC */ UIWindow* unknown_00BC;
|
|
/* 00C0 */ unsigned char unknown_00C0[0x78];
|
|
/* 0138 */ UIWindow* unknown_0138;
|
|
/* 013C */ UIWindow* unknown_013C;
|
|
|
|
bool Visible() const;
|
|
|
|
void Show(std::uint8_t visible);
|
|
};
|
|
|
|
extern ChatSuggestions* g_chatSuggestions;
|
|
extern bool g_inputSuggestionsEnabled;
|
|
|
|
struct ChatInputLayout {
|
|
UIWindow& chat;
|
|
const std::uint8_t& open;
|
|
const int& inputHeight;
|
|
std::array<UIWindow**, 6> children;
|
|
|
|
void Apply();
|
|
};
|
|
|
|
struct ChatHeaderLayout {
|
|
const std::uint8_t& enabled;
|
|
const std::uint32_t& mode;
|
|
const int& width;
|
|
std::array<UIWindow**, 4> buttons;
|
|
|
|
void Apply();
|
|
};
|
|
|
|
struct ChatButtonLayout {
|
|
const std::uint8_t& expanded;
|
|
const int& width;
|
|
std::array<UIWindow**, 3> buttons;
|
|
|
|
void Apply();
|
|
};
|
|
|
|
struct ChatRowLayout {
|
|
ChatInputLayout& input;
|
|
ChatHeaderLayout& header;
|
|
WindowManagerWindows& windows;
|
|
UIWindow* const& capture;
|
|
UIWindow* const& popup26;
|
|
const std::vector<UIWindow*>& rows;
|
|
const int& selected;
|
|
const int& headerHeight;
|
|
const int& headerCellWidth;
|
|
UIWindow* const& headerChild;
|
|
UIWindow* const& suggestions;
|
|
|
|
void Resize(int count);
|
|
};
|
|
|
|
struct ChatInputFocus {
|
|
ChatInputLayout& layout;
|
|
ChatRowLayout& rows;
|
|
InputFocus& focus;
|
|
std::uint8_t& open;
|
|
const std::uint8_t& alternate;
|
|
UIEditCtrl* const& primary;
|
|
UIEditCtrl* const& secondary;
|
|
UIWindow*& pressedRoot;
|
|
ItemTagRetirement* const& tags;
|
|
|
|
void Toggle();
|
|
|
|
void DismissOutside(ChatSuggestions& suggestions, UIWindow* companion, int button, int x, int y);
|
|
};
|
|
|
|
#endif
|