/* client/chat.h This file is part of the Osirion project and is distributed under the terms of the GNU General Public License version 2 */ #ifndef __INCLUDED_CLIENT_CHAT_H__ #define __INCLUDED_CLIENT_CHAT_H__ #include #include #include "ui/input.h" #include "ui/label.h" #include "ui/window.h" namespace client { class Chat : public ui::Window { public: Chat(ui::Widget *parent = 0); ~Chat(); virtual void show(); void toggle(); protected: virtual void event_draw(); virtual void resize(); virtual bool on_keypress(const int key, const unsigned int modifier); private: ui::Label *chat_label; ui::Input *chat_input; typedef std::deque History; History history; History::reverse_iterator history_pos; }; } // namespace client #endif // __INCLUDED_CLIENT_CHAT_H__