rodecomp/Source/UI/Buttons/UITextButton.h
ragnarok-clanker c47693a124 Decompile fn_11601 (UITextButton::GetLinesCount)
Batch #5865 by KWDev: 0 byte-identical, 1 confirmed by peer review.

- fn_11601 UITextButton::GetLinesCount: logic confirmed by peer review

Peer-reviewed-by: alisonrag, youko
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-10-30 16:49:22 +00:00

55 lines
1.6 KiB
C++

#ifndef RAGNAROK_SOURCE_UI_BUTTONS_UITEXTBUTTON_H
#define RAGNAROK_SOURCE_UI_BUTTONS_UITEXTBUTTON_H
#include "UI/Buttons/UIButton.h"
#include <cstddef>
#include <string>
#include <vector>
class UITextButton : public UIButton {
friend class UITextViewer;
friend class UIMessageBox;
friend class UIAchTracingWnd;
public:
friend void OpenTextButtonLink(UITextButton* button);
friend void ShowTextButtonTip(UITextButton* button);
friend void ShowTextButtonItem(UITextButton* button);
UITextButton(UIWindowContext& windows, UIButtonContext& buttons);
~UITextButton() override;
void Paint() override;
void Slot27(int x, int y) override;
void Slot28(int x, int y) override;
void Slot31(int x, int y) override;
void Slot32(int x, int y) override;
void Slot33(int x, int y) override;
void Slot35(int value) override;
void Configure(const char* text, std::uint32_t color, int family, int height, unsigned char outline, unsigned char underline);
void ResizeToText();
void CenterIn(int width, int height);
const std::string& GetLine(std::size_t index) const;
int GetLinesCount() const;
protected:
/* 00B4 */ std::uint32_t m_color;
/* 00B8 */ std::uint32_t m_normalColor;
/* 00BC */ std::uint32_t m_hoverColor;
/* 00C0 */ std::uint32_t m_outlineColor;
/* 00C4 */ unsigned char m_outline;
/* 00C5 */ unsigned char m_underline;
/* 00C8 */ int m_height;
/* 00CC */ int m_family;
/* 00D0 */ int m_value;
/* 00D4 */ std::string m_text;
/* 00EC */ std::vector<std::string> m_lines;
};
extern std::string g_emptyString;
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(UITextButton) == 256);
#endif
#endif