network_chat_gui.cpp File Reference

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))

Detailed Description

GUI for handling chat messages.

Definition in file network_chat_gui.cpp.


Enumeration Type Documentation

Widget numbers of the chat window.

Definition at line 273 of file network_chat_gui.cpp.


Function Documentation

void CDECL NetworkAddChatMessage ( TextColour  colour,
uint  duration,
const char *  message,
  ... 
)

Add a text message to the 'chat window' to be shown.

Parameters:
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(), TC_IS_PALETTE_COLOUR, 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().


Variable Documentation

const NWidgetPart _nested_chat_window_widgets[] [static]
Initial value:
 {
  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.


Generated on Sun May 15 19:20:22 2011 for OpenTTD by  doxygen 1.6.1