X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fchat.h;h=82ce80875a2bd7d38e635e13015b7085af070078;hb=fd70f4f2f040b64064676706e41d6da90c2b00db;hp=0e636ea430440b01d283d9e890766c72bc0e178b;hpb=967f25461bbde28dbc0247fa1c491e9d9938a5b2;p=minetest.git diff --git a/src/chat.h b/src/chat.h index 0e636ea43..82ce80875 100644 --- a/src/chat.h +++ b/src/chat.h @@ -1,18 +1,18 @@ /* -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 General Public License as published by -the Free Software Foundation; either version 2 of the License, or +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. +GNU Lesser General Public License for more details. -You should have received a copy of the GNU General Public License along +You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ @@ -20,8 +20,10 @@ with this program; if not, write to the Free Software Foundation, Inc., #ifndef CHAT_HEADER #define CHAT_HEADER -#include "common_irrlicht.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