mirror of
https://github.com/thunderbrewhq/thunderbrew
synced 2025-10-27 22:36:05 +03:00
feat(ui): add CSimpleMessageScrollFrame script methods
This commit is contained in:
parent
148285ad01
commit
78f1d095d6
@ -40,10 +40,16 @@ void CSimpleHyperlinkButton::SetHyperlink(CSimpleFontString* string, const GXUFO
|
||||
}
|
||||
|
||||
void CSimpleHyperlinkButton::OnLayerCursorEnter(int32_t a2) {
|
||||
auto frame = static_cast<CSimpleHyperlinkedFrame*>(this->m_parent);
|
||||
frame->OnHyperlinkEnter(this->m_hyperlink, this->m_hyperlink);
|
||||
}
|
||||
|
||||
void CSimpleHyperlinkButton::OnLayerCursorExit(int32_t a2, int32_t a3) {
|
||||
auto frame = static_cast<CSimpleHyperlinkedFrame*>(this->m_parent);
|
||||
frame->OnHyperlinkLeave(this->m_hyperlink, this->m_hyperlink);
|
||||
}
|
||||
|
||||
void CSimpleHyperlinkButton::OnClick(const char* btn, int32_t a3) {
|
||||
auto frame = static_cast<CSimpleHyperlinkedFrame*>(this->m_parent);
|
||||
frame->OnHyperlinkClick(this->m_hyperlink, this->m_hyperlink, btn);
|
||||
}
|
||||
|
||||
@ -28,31 +28,32 @@ FrameScript_Object::ScriptIx* CSimpleHyperlinkedFrame::GetScriptByName(const cha
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void CSimpleHyperlinkedFrame::OnHyperlinkClick(const char* a2, const char* a3, const char* a4) {
|
||||
void CSimpleHyperlinkedFrame::OnHyperlinkClick(const char* link, const char* text, const char* button) {
|
||||
if (this->m_onHyperlinkClick.luaRef) {
|
||||
auto L = FrameScript_GetContext();
|
||||
lua_pushstring(L, a2);
|
||||
lua_pushstring(L, a3);
|
||||
lua_pushstring(L, link);
|
||||
lua_pushstring(L, text);
|
||||
lua_pushstring(L, button);
|
||||
|
||||
this->RunScript(this->m_onHyperlinkClick, 2, 0);
|
||||
this->RunScript(this->m_onHyperlinkClick, 3, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void CSimpleHyperlinkedFrame::OnHyperlinkLeave(const char* a2, const char* a3) {
|
||||
void CSimpleHyperlinkedFrame::OnHyperlinkLeave(const char* link, const char* text) {
|
||||
if (this->m_onHyperlinkLeave.luaRef) {
|
||||
auto L = FrameScript_GetContext();
|
||||
lua_pushstring(L, a2);
|
||||
lua_pushstring(L, a3);
|
||||
lua_pushstring(L, link);
|
||||
lua_pushstring(L, text);
|
||||
|
||||
this->RunScript(this->m_onHyperlinkLeave, 2, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void CSimpleHyperlinkedFrame::OnHyperlinkEnter(const char* a2, const char* a3) {
|
||||
void CSimpleHyperlinkedFrame::OnHyperlinkEnter(const char* link, const char* text) {
|
||||
if (this->m_onHyperlinkEnter.luaRef) {
|
||||
auto L = FrameScript_GetContext();
|
||||
lua_pushstring(L, a2);
|
||||
lua_pushstring(L, a3);
|
||||
lua_pushstring(L, link);
|
||||
lua_pushstring(L, text);
|
||||
|
||||
this->RunScript(this->m_onHyperlinkEnter, 2, 0);
|
||||
}
|
||||
|
||||
@ -1,4 +1,39 @@
|
||||
#include "ui/CSimpleMessageScrollFrame.hpp"
|
||||
#include "ui/CSimpleMessageScrollFrameScript.hpp"
|
||||
|
||||
CSimpleMessageScrollFrame::CSimpleMessageScrollFrame(CSimpleFrame* parent) : CSimpleHyperlinkedFrame(parent) {
|
||||
int32_t CSimpleMessageScrollFrame::s_metatable = 0;
|
||||
int32_t CSimpleMessageScrollFrame::s_objectType = 0;
|
||||
|
||||
void CSimpleMessageScrollFrame::CreateScriptMetaTable() {
|
||||
lua_State* L = FrameScript_GetContext();
|
||||
int32_t ref = FrameScript_Object::CreateScriptMetaTable(L, &CSimpleMessageScrollFrame::RegisterScriptMethods);
|
||||
CSimpleMessageScrollFrame::s_metatable = ref;
|
||||
}
|
||||
|
||||
int32_t CSimpleMessageScrollFrame::GetObjectType() {
|
||||
if (!CSimpleMessageScrollFrame::s_objectType) {
|
||||
CSimpleMessageScrollFrame::s_objectType = ++FrameScript_Object::s_objectTypes;
|
||||
}
|
||||
|
||||
return CSimpleMessageScrollFrame::s_objectType;
|
||||
}
|
||||
|
||||
void CSimpleMessageScrollFrame::RegisterScriptMethods(lua_State* L) {
|
||||
CSimpleFrame::RegisterScriptMethods(L);
|
||||
FrameScript_Object::FillScriptMethodTable(L, SimpleMessageScrollFrameMethods, NUM_SIMPLE_MESSAGE_SCROLL_FRAME_SCRIPT_METHODS);
|
||||
}
|
||||
|
||||
CSimpleMessageScrollFrame::CSimpleMessageScrollFrame(CSimpleFrame* parent)
|
||||
: CSimpleHyperlinkedFrame(parent) {
|
||||
}
|
||||
|
||||
bool CSimpleMessageScrollFrame::IsA(int32_t type) {
|
||||
return type == CSimpleMessageScrollFrame::s_objectType
|
||||
|| type == CSimpleFrame::s_objectType
|
||||
|| type == CScriptRegion::s_objectType
|
||||
|| type == CScriptObject::s_objectType;
|
||||
}
|
||||
|
||||
int32_t CSimpleMessageScrollFrame::GetScriptMetaTable() {
|
||||
return CSimpleMessageScrollFrame::s_metatable;
|
||||
}
|
||||
|
||||
@ -5,8 +5,21 @@
|
||||
|
||||
class CSimpleMessageScrollFrame : public CSimpleHyperlinkedFrame {
|
||||
public:
|
||||
// Static variables
|
||||
static int32_t s_metatable;
|
||||
static int32_t s_objectType;
|
||||
|
||||
// Static functions
|
||||
static void CreateScriptMetaTable();
|
||||
static int32_t GetObjectType();
|
||||
static void RegisterScriptMethods(lua_State* L);
|
||||
|
||||
// Member functions
|
||||
CSimpleMessageScrollFrame(CSimpleFrame* parent);
|
||||
|
||||
// Virtual member functions
|
||||
virtual bool IsA(int32_t type);
|
||||
virtual int32_t GetScriptMetaTable();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
248
src/ui/CSimpleMessageScrollFrameScript.cpp
Normal file
248
src/ui/CSimpleMessageScrollFrameScript.cpp
Normal file
@ -0,0 +1,248 @@
|
||||
#include "ui/CSimpleMessageScrollFrameScript.hpp"
|
||||
#include "ui/CSimpleMessageScrollFrame.hpp"
|
||||
#include "util/Lua.hpp"
|
||||
#include "util/Unimplemented.hpp"
|
||||
|
||||
static int32_t Script_SetFontObject(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetFontObject(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetFont(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetFont(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetTextColor(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetTextColor(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetShadowColor(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetShadowColor(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetShadowOffset(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetShadowOffset(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetSpacing(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetSpacing(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetJustifyH(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetJustifyH(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetJustifyV(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetJustifyV(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_AddMessage(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetMessageInfo(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_RemoveMessagesByAccessID(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_ScrollUp(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_ScrollDown(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_PageUp(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_PageDown(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_ScrollToTop(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_ScrollToBottom(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetScrollOffset(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_AtTop(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_AtBottom(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_UpdateColorByID(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetNumMessages(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetNumLinesDisplayed(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetCurrentScroll(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetCurrentLine(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetMaxLines(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetMaxLines(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetFading(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetFading(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetTimeVisible(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetTimeVisible(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetFadeDuration(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetFadeDuration(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_Clear(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetInsertMode(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetInsertMode(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetIndentedWordWrap(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetIndentedWordWrap(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetHyperlinksEnabled(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetHyperlinksEnabled(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
|
||||
FrameScript_Method SimpleMessageScrollFrameMethods[NUM_SIMPLE_MESSAGE_SCROLL_FRAME_SCRIPT_METHODS] = {
|
||||
{ "SetFontObject", &Script_SetFontObject },
|
||||
{ "GetFontObject", &Script_GetFontObject },
|
||||
{ "SetFont", &Script_SetFont },
|
||||
{ "GetFont", &Script_GetFont },
|
||||
{ "SetTextColor", &Script_SetTextColor },
|
||||
{ "GetTextColor", &Script_GetTextColor },
|
||||
{ "SetShadowColor", &Script_SetShadowColor },
|
||||
{ "GetShadowColor", &Script_GetShadowColor },
|
||||
{ "SetShadowOffset", &Script_SetShadowOffset },
|
||||
{ "GetShadowOffset", &Script_GetShadowOffset },
|
||||
{ "SetSpacing", &Script_SetSpacing },
|
||||
{ "GetSpacing", &Script_GetSpacing },
|
||||
{ "SetJustifyH", &Script_SetJustifyH },
|
||||
{ "GetJustifyH", &Script_GetJustifyH },
|
||||
{ "SetJustifyV", &Script_SetJustifyV },
|
||||
{ "GetJustifyV", &Script_GetJustifyV },
|
||||
{ "AddMessage", &Script_AddMessage },
|
||||
{ "GetMessageInfo", &Script_GetMessageInfo },
|
||||
{ "RemoveMessagesByAccessID", &Script_RemoveMessagesByAccessID },
|
||||
{ "ScrollUp", &Script_ScrollUp },
|
||||
{ "ScrollDown", &Script_ScrollDown },
|
||||
{ "PageUp", &Script_PageUp },
|
||||
{ "PageDown", &Script_PageDown },
|
||||
{ "ScrollToTop", &Script_ScrollToTop },
|
||||
{ "ScrollToBottom", &Script_ScrollToBottom },
|
||||
{ "SetScrollOffset", &Script_SetScrollOffset },
|
||||
{ "AtTop", &Script_AtTop },
|
||||
{ "AtBottom", &Script_AtBottom },
|
||||
{ "UpdateColorByID", &Script_UpdateColorByID },
|
||||
{ "GetNumMessages", &Script_GetNumMessages },
|
||||
{ "GetNumLinesDisplayed", &Script_GetNumLinesDisplayed },
|
||||
{ "GetCurrentScroll", &Script_GetCurrentScroll },
|
||||
{ "GetCurrentLine", &Script_GetCurrentLine },
|
||||
{ "GetMaxLines", &Script_GetMaxLines },
|
||||
{ "SetMaxLines", &Script_SetMaxLines },
|
||||
{ "SetFading", &Script_SetFading },
|
||||
{ "GetFading", &Script_GetFading },
|
||||
{ "SetTimeVisible", &Script_SetTimeVisible },
|
||||
{ "GetTimeVisible", &Script_GetTimeVisible },
|
||||
{ "SetFadeDuration", &Script_SetFadeDuration },
|
||||
{ "GetFadeDuration", &Script_GetFadeDuration },
|
||||
{ "Clear", &Script_Clear },
|
||||
{ "SetInsertMode", &Script_SetInsertMode },
|
||||
{ "GetInsertMode", &Script_GetInsertMode },
|
||||
{ "SetIndentedWordWrap", &Script_SetIndentedWordWrap },
|
||||
{ "GetIndentedWordWrap", &Script_GetIndentedWordWrap },
|
||||
{ "SetHyperlinksEnabled", &Script_SetHyperlinksEnabled },
|
||||
{ "GetHyperlinksEnabled", &Script_GetHyperlinksEnabled }
|
||||
};
|
||||
10
src/ui/CSimpleMessageScrollFrameScript.hpp
Normal file
10
src/ui/CSimpleMessageScrollFrameScript.hpp
Normal file
@ -0,0 +1,10 @@
|
||||
#ifndef UI_C_SIMPLE_MESSAGE_SCROLL_FRAME_SCRIPT_HPP
|
||||
#define UI_C_SIMPLE_MESSAGE_SCROLL_FRAME_SCRIPT_HPP
|
||||
|
||||
#include "ui/FrameScript.hpp"
|
||||
|
||||
#define NUM_SIMPLE_MESSAGE_SCROLL_FRAME_SCRIPT_METHODS 48
|
||||
|
||||
extern FrameScript_Method SimpleMessageScrollFrameMethods[NUM_SIMPLE_MESSAGE_SCROLL_FRAME_SCRIPT_METHODS];
|
||||
|
||||
#endif
|
||||
@ -12,6 +12,7 @@
|
||||
#include "ui/CSimpleScrollFrame.hpp"
|
||||
#include "ui/CSimpleSlider.hpp"
|
||||
#include "ui/CSimpleTexture.hpp"
|
||||
#include "ui/CSimpleMessageScrollFrame.hpp"
|
||||
#include "ui/FrameScript.hpp"
|
||||
|
||||
void CharacterCreateRegisterScriptFunctions() {
|
||||
@ -79,7 +80,7 @@ void RegisterSimpleFrameScriptMethods() {
|
||||
|
||||
// TODO
|
||||
// CSimpleMessageFrame::CreateScriptMetaTable();
|
||||
// CSimpleMessageScrollFrame::CreateScriptMetaTable();
|
||||
CSimpleMessageScrollFrame::CreateScriptMetaTable();
|
||||
|
||||
CSimpleModel::CreateScriptMetaTable();
|
||||
CSimpleModelFFX::CreateScriptMetaTable();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user