GUI for handling chat messages. More...
#include <stdarg.h>
#include "../stdafx.h"
#include "../gfx_func.h"
#include "../strings_func.h"
#include "../blitter/factory.hpp"
#include "../console_func.h"
#include "../video/video_driver.hpp"
#include "../table/sprites.h"
#include "../querystring_gui.h"
#include "../town.h"
#include "../window_func.h"
#include "../core/geometry_func.hpp"
#include "network.h"
#include "network_client.h"
#include "network_base.h"
#include "table/strings.h"
Go to the source code of this file.
Data Structures | |
struct | ChatMessage |
struct | NetworkChatWindow |
Enumerations | |
enum | NetWorkChatWidgets { NWCW_CLOSE, NWCW_BACKGROUND, NWCW_DESTINATION, NWCW_TEXTBOX, NWCW_SENDBUTTON } |
Widget numbers of the chat window. More... | |
Functions | |
assert_compile ((int) DRAW_STRING_BUFFER >=(int) NETWORK_CHAT_LENGTH+NETWORK_NAME_LENGTH+40) | |
static uint | GetChatMessageCount () |
void CDECL | NetworkAddChatMessage (TextColour colour, uint duration, const char *message,...) |
Add a text message to the 'chat window' to be shown. | |
void | NetworkReInitChatBoxSize () |
Initialize all font-dependent chat box sizes. | |
void | NetworkInitChatMessage () |
void | NetworkUndrawChatMessage () |
Hide the chatbox. | |
void | NetworkChatMessageLoop () |
Check if a message is expired. | |
void | NetworkDrawChatMessage () |
Draw the chat message-box. | |
static void | SendChat (const char *buf, DestType type, int dest) |
void | ShowNetworkChatQueryWindow (DestType type, int dest) |
Variables | |
static const uint | NETWORK_CHAT_LINE_SPACING = 3 |
static ChatMessage * | _chatmsg_list = NULL |
static bool | _chatmessage_dirty = false |
static bool | _chatmessage_visible = false |
static bool | _chat_tab_completion_active |
static uint | MAX_CHAT_MESSAGES = 0 |
static PointDimension | _chatmsg_box |
static uint8 * | _chatmessage_backup = NULL |
static const NWidgetPart | _nested_chat_window_widgets [] |
static const WindowDesc | _chat_window_desc (WDP_MANUAL, 640, 14, WC_SEND_NETWORK_MSG, WC_NONE, 0, _nested_chat_window_widgets, lengthof(_nested_chat_window_widgets)) |
GUI for handling chat messages.
Definition in file network_chat_gui.cpp.
enum NetWorkChatWidgets |
Widget numbers of the chat window.
Definition at line 273 of file network_chat_gui.cpp.
void CDECL NetworkAddChatMessage | ( | TextColour | colour, | |
uint | duration, | |||
const char * | message, | |||
... | ||||
) |
Add a text message to the 'chat window' to be shown.
colour | The colour this message is to be shown in | |
duration | The duration of the chat message in seconds | |
message | message itself in printf() style |
Definition at line 73 of file network_chat_gui.cpp.
References _realtime_tick, DRAW_STRING_BUFFER, FormatStringLinebreaks(), GB(), lastof, lengthof, strecpy(), and Utf8TrimString().
void NetworkChatMessageLoop | ( | ) |
Check if a message is expired.
Definition at line 184 of file network_chat_gui.cpp.
References _realtime_tick.
void NetworkReInitChatBoxSize | ( | ) |
Initialize all font-dependent chat box sizes.
Definition at line 115 of file network_chat_gui.cpp.
References FONT_HEIGHT_NORMAL, Blitter::GetBytesPerPixel(), BlitterFactoryBase::GetCurrentBlitter(), and ReallocT().
Referenced by ReInitAllWindows().
const NWidgetPart _nested_chat_window_widgets[] [static] |
{ NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_GREY, NWCW_CLOSE), NWidget(WWT_PANEL, COLOUR_GREY, NWCW_BACKGROUND), NWidget(NWID_HORIZONTAL), NWidget(WWT_TEXT, COLOUR_GREY, NWCW_DESTINATION), SetMinimalSize(62, 12), SetPadding(1, 0, 1, 0), SetDataTip(STR_NULL, STR_NULL), NWidget(WWT_EDITBOX, COLOUR_GREY, NWCW_TEXTBOX), SetMinimalSize(100, 12), SetPadding(1, 0, 1, 0), SetResize(1, 0), SetDataTip(STR_NETWORK_CHAT_OSKTITLE, STR_NULL), NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, NWCW_SENDBUTTON), SetMinimalSize(62, 12), SetPadding(1, 0, 1, 0), SetDataTip(STR_NETWORK_CHAT_SEND, STR_NULL), EndContainer(), EndContainer(), EndContainer(), }
Definition at line 545 of file network_chat_gui.cpp.