UFO: Alien Invasion
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
ui_node_messagelist.cpp File Reference
#include "../ui_main.h"
#include "../ui_internal.h"
#include "../ui_font.h"
#include "../ui_actions.h"
#include "../ui_parse.h"
#include "../ui_render.h"
#include "../ui_sprite.h"
#include "ui_node_text.h"
#include "ui_node_messagelist.h"
#include "ui_node_abstractnode.h"
#include "../../client.h"
#include "../../../shared/parse.h"
#include "../../../common/scripts_lua.h"

Go to the source code of this file.

Data Structures

struct  uiMessageListNodeMessage_s
 

Macros

#define EXTRADATA(node)   UI_EXTRADATA(node, abstractScrollableExtraData_t)
 
#define EXTRADATACONST(node)   UI_EXTRADATACONST(node, abstractScrollableExtraData_t)
 
#define TIMESTAMP_TEXT   24
 

Typedefs

typedef struct
uiMessageListNodeMessage_s 
uiMessageListNodeMessage_t
 

Functions

struct uiMessageListNodeMessage_sUI_MessageGetStack (void)
 
void UI_MessageResetStack (void)
 
void UI_MessageAddStack (struct uiMessageListNodeMessage_s *message)
 
static int UI_MessageGetLines (const uiNode_t *node, uiMessageListNodeMessage_t *message, const char *fontID, int width)
 
static uiSprite_tUI_MessageGetIcon (const uiMessageListNodeMessage_t *message)
 
static void UI_MessageDraw (const uiNode_t *node, uiMessageListNodeMessage_t *message, const char *fontID, int x, int y, int width, int *screenLines)
 
void UI_RegisterMessageListNode (uiBehaviour_t *behaviour)
 

Variables

static const int LINEHEIGHT = 20
 
static const int DATETIME_COLUUI_SIZE = 200
 
static int mouseScrollX
 
static int mouseScrollY
 
static uiMessageListNodeMessage_tmessageStack
 
static char * lastDate
 

Detailed Description

Todo:
add getter/setter to cleanup access to extradata from cl_*.c files (check "u.text.")

Definition in file ui_node_messagelist.cpp.

Macro Definition Documentation

#define EXTRADATA (   node)    UI_EXTRADATA(node, abstractScrollableExtraData_t)
#define EXTRADATACONST (   node)    UI_EXTRADATACONST(node, abstractScrollableExtraData_t)

Definition at line 43 of file ui_node_messagelist.cpp.

Referenced by UI_MessageDraw().

#define TIMESTAMP_TEXT   24

Definition at line 55 of file ui_node_messagelist.cpp.

Typedef Documentation

Function Documentation

void UI_MessageAddStack ( struct uiMessageListNodeMessage_s message)

Definition at line 79 of file ui_node_messagelist.cpp.

References messageStack, and uiMessageListNodeMessage_s::next.

Referenced by GAME_GetImportData().

static uiSprite_t* UI_MessageGetIcon ( const uiMessageListNodeMessage_t message)
static
Todo:

do not hard code icons

cache icon result

Definition at line 105 of file ui_node_messagelist.cpp.

References uiMessageListNodeMessage_s::iconName, Q_strnull(), and UI_GetSpriteByName().

Referenced by UI_MessageDraw().

static int UI_MessageGetLines ( const uiNode_t node,
uiMessageListNodeMessage_t message,
const char *  fontID,
int  width 
)
static
Returns
Number of lines need to display this message

Definition at line 88 of file ui_node_messagelist.cpp.

References DATETIME_COLUUI_SIZE, LONGLINES_WRAP, uiNode_t::padding, R_FontTextSize(), uiMessageListNodeMessage_s::text, and uiMessageListNodeMessage_s::timestamp.

Referenced by uiMessageListNode::draw().

struct uiMessageListNodeMessage_s* UI_MessageGetStack ( void  )

Definition at line 69 of file ui_node_messagelist.cpp.

References messageStack.

Referenced by GAME_GetImportData().

void UI_MessageResetStack ( void  )

Definition at line 74 of file ui_node_messagelist.cpp.

Referenced by GAME_GetImportData().

Variable Documentation

const int DATETIME_COLUUI_SIZE = 200
static

Definition at line 48 of file ui_node_messagelist.cpp.

Referenced by UI_MessageDraw(), and UI_MessageGetLines().

char* lastDate
static

Definition at line 99 of file ui_node_messagelist.cpp.

Referenced by uiMessageListNode::draw(), and UI_MessageDraw().

const int LINEHEIGHT = 20
static
Todo:
use the font height?

Definition at line 46 of file ui_node_messagelist.cpp.

Referenced by uiMessageListNode::draw(), uiMessageListNode::getCellHeight(), and UI_MessageDraw().

uiMessageListNodeMessage_t* messageStack
static
Todo:
implement this on a per-node basis

Definition at line 67 of file ui_node_messagelist.cpp.

Referenced by uiMessageListNode::draw(), UI_MessageAddStack(), and UI_MessageGetStack().

int mouseScrollX
static
int mouseScrollY
static