X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fchat.h;h=82ce80875a2bd7d38e635e13015b7085af070078;hb=fd70f4f2f040b64064676706e41d6da90c2b00db;hp=49de529859b11da2845ccbe927b61cbf8c11f6be;hpb=9f031a67594162a53b07acbfbc65faf8c4938e99;p=minetest.git diff --git a/src/chat.h b/src/chat.h index 49de52985..82ce80875 100644 --- a/src/chat.h +++ b/src/chat.h @@ -1,6 +1,6 @@ /* -Minetest-c55 -Copyright (C) 2011 celeron55, Perttu Ahola +Minetest +Copyright (C) 2013 celeron55, Perttu Ahola This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by @@ -20,8 +20,10 @@ with this program; if not, write to the Free Software Foundation, Inc., #ifndef CHAT_HEADER #define CHAT_HEADER -#include "irrlichttypes_bloated.h" +#include "irrlichttypes.h" #include +#include +#include // Chat console related classes, only used by the client @@ -55,7 +57,7 @@ struct ChatFormattedFragment struct ChatFormattedLine { // Array of text fragments - core::array fragments; + std::vector fragments; // true if first line of one formatted ChatLine bool first; }; @@ -110,7 +112,7 @@ class ChatBuffer // Appends the formatted lines to the destination array and // returns the number of formatted lines. u32 formatChatLine(const ChatLine& line, u32 cols, - core::array& destination) const; + std::vector& destination) const; protected: s32 getTopScrollPos() const; @@ -120,7 +122,7 @@ class ChatBuffer // Scrollback size u32 m_scrollback; // Array of unformatted chat lines - core::array m_unformatted; + std::vector m_unformatted; // Number of character columns in console u32 m_cols; @@ -129,7 +131,7 @@ class ChatBuffer // Scroll position (console's top line index into m_formatted) s32 m_scroll; // Array of formatted lines - core::array m_formatted; + std::vector m_formatted; // Empty formatted line, for error returns ChatFormattedLine m_empty_formatted_line; }; @@ -140,8 +142,9 @@ class ChatPrompt ChatPrompt(std::wstring prompt, u32 history_limit); ~ChatPrompt(); - // Input character + // Input character or string void input(wchar_t ch); + void input(const std::wstring &str); // Submit, clear and return current line std::wstring submit(); @@ -158,7 +161,7 @@ class ChatPrompt void historyNext(); // Nick completion - void nickCompletion(const core::list& names, bool backwards); + void nickCompletion(const std::list& names, bool backwards); // Update console size and reformat the visible portion of the prompt void reformat(u32 cols); @@ -209,7 +212,7 @@ class ChatPrompt // Currently edited line std::wstring m_line; // History buffer - core::array m_history; + std::vector m_history; // History index (0 <= m_history_index <= m_history.size()) u32 m_history_index; // Maximum number of history entries