diff options
author | ShadowNinja <shadowninja@minetest.net> | 2016-02-27 16:04:44 -0500 |
---|---|---|
committer | ShadowNinja <shadowninja@minetest.net> | 2016-03-02 23:23:31 -0500 |
commit | 430929e75a4e6c81d7dd2746570f925bb45e674e (patch) | |
tree | 5b1e8d0c0c749d15ce259b06e1c0464725f8addc /src/chat.h | |
parent | 3edb7575a1ccca631994c0f5515b770b7a3e20d2 (diff) | |
download | minetest-430929e75a4e6c81d7dd2746570f925bb45e674e.tar.gz minetest-430929e75a4e6c81d7dd2746570f925bb45e674e.tar.bz2 minetest-430929e75a4e6c81d7dd2746570f925bb45e674e.zip |
Add text selection and copying to console
Diffstat (limited to 'src/chat.h')
-rw-r--r-- | src/chat.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/chat.h b/src/chat.h index 367baaaf2..db4146d35 100644 --- a/src/chat.h +++ b/src/chat.h @@ -150,7 +150,11 @@ public: void addToHistory(std::wstring line); // Get current line - std::wstring getLine(); + std::wstring getLine() const { return m_line; } + + // Get section of line that is currently selected + std::wstring getSelection() const + { return m_line.substr(m_cursor, m_cursor_len); } // Clear the current line void clear(); @@ -172,10 +176,13 @@ public: std::wstring getVisiblePortion() const; // Get cursor position (relative to visible portion). -1 if invalid s32 getVisibleCursorPosition() const; + // Get length of cursor selection + s32 getCursorLength() const { return m_cursor_len; } // Cursor operations enum CursorOp { CURSOROP_MOVE, + CURSOROP_SELECT, CURSOROP_DELETE }; @@ -189,7 +196,8 @@ public: enum CursorOpScope { CURSOROP_SCOPE_CHARACTER, CURSOROP_SCOPE_WORD, - CURSOROP_SCOPE_LINE + CURSOROP_SCOPE_LINE, + CURSOROP_SCOPE_SELECTION }; // Cursor operation @@ -227,6 +235,8 @@ private: s32 m_view; // Cursor (index into m_line) s32 m_cursor; + // Cursor length (length of selected portion of line) + s32 m_cursor_len; // Last nick completion start (index into m_line) s32 m_nick_completion_start; |