aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/UI/UIControl_TextInput.h
diff options
context:
space:
mode:
authorqwasdrizzel <145519042+qwasdrizzel@users.noreply.github.com>2026-03-16 21:44:26 -0500
committerGitHub <noreply@github.com>2026-03-16 21:44:26 -0500
commitce739f6045ec72127491286ea3f3f21e537c1b55 (patch)
treef33bd42a47c1b4a7b2153a7fb77127ee3b407db9 /Minecraft.Client/Common/UI/UIControl_TextInput.h
parent255a18fe8e9b57377975f82e2b227afe2a12eda0 (diff)
parent5a59f5d146b43811dde6a5a0245ee9875d7b5cd1 (diff)
Merge branch 'smartcmd:main' into main
Diffstat (limited to 'Minecraft.Client/Common/UI/UIControl_TextInput.h')
-rw-r--r--Minecraft.Client/Common/UI/UIControl_TextInput.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/Minecraft.Client/Common/UI/UIControl_TextInput.h b/Minecraft.Client/Common/UI/UIControl_TextInput.h
index 98032d85..3ff28930 100644
--- a/Minecraft.Client/Common/UI/UIControl_TextInput.h
+++ b/Minecraft.Client/Common/UI/UIControl_TextInput.h
@@ -6,7 +6,20 @@ class UIControl_TextInput : public UIControl_Base
{
private:
IggyName m_textName, m_funcChangeState, m_funcSetCharLimit;
+ IggyName m_funcSetCaretIndex;
bool m_bHasFocus;
+ bool m_bHasCaret;
+ bool m_bCaretChecked;
+
+#ifdef _WINDOWS64
+ bool m_bDirectEditing;
+ wstring m_textBeforeEdit;
+ wstring m_editBuffer;
+ int m_iCursorPos;
+ int m_iCharLimit;
+ int m_iDirectEditCooldown;
+ int m_iCaretBlinkTimer;
+#endif
public:
UIControl_TextInput();
@@ -19,4 +32,24 @@ public:
virtual void setFocus(bool focus);
void SetCharLimit(int iLimit);
+
+ void setCaretVisible(bool visible);
+ void setCaretIndex(int index);
+
+#ifdef _WINDOWS64
+ enum EDirectEditResult
+ {
+ eDirectEdit_Continue,
+ eDirectEdit_Confirmed,
+ eDirectEdit_Cancelled,
+ };
+
+ void beginDirectEdit(int charLimit = 0);
+ EDirectEditResult tickDirectEdit();
+ void cancelDirectEdit();
+ void confirmDirectEdit();
+ bool isDirectEditing() const { return m_bDirectEditing; }
+ int getDirectEditCooldown() const { return m_iDirectEditCooldown; }
+ const wstring& getEditBuffer() const { return m_editBuffer; }
+#endif
}; \ No newline at end of file