UFO: Alien Invasion
Loading...
Searching...
No Matches
ui_node_messagelist.cpp File Reference
#include "../../DateTime.h"
#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"
Include dependency graph for ui_node_messagelist.cpp:

Go to the source code of this file.

Data Structures

struct  uiMessageListNodeMessage_t

Macros

#define EXTRADATA(node)
#define EXTRADATACONST(node)
#define TIMESTAMP_TEXT   24

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

◆ EXTRADATA

#define EXTRADATA ( node)
Value:

Definition at line 43 of file ui_node_messagelist.cpp.

◆ EXTRADATACONST

#define EXTRADATACONST ( node)
Value:
#define UI_EXTRADATACONST(NODE, TYPE)
Definition ui_nodes.h:187

Definition at line 44 of file ui_node_messagelist.cpp.

◆ TIMESTAMP_TEXT

#define TIMESTAMP_TEXT   24

Definition at line 56 of file ui_node_messagelist.cpp.

Function Documentation

◆ UI_MessageAddStack()

void UI_MessageAddStack ( struct uiMessageListNodeMessage_s * message)

◆ UI_MessageDraw()

◆ UI_MessageGetIcon()

uiSprite_t * UI_MessageGetIcon ( const uiMessageListNodeMessage_t * message)
static
Todo

do not hard code icons

cache icon result

Definition at line 106 of file ui_node_messagelist.cpp.

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

Referenced by UI_MessageDraw().

◆ UI_MessageGetLines()

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 89 of file ui_node_messagelist.cpp.

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

Referenced by uiMessageListNode::draw().

◆ UI_MessageGetStack()

struct uiMessageListNodeMessage_s * UI_MessageGetStack ( void )

Definition at line 70 of file ui_node_messagelist.cpp.

References messageStack.

Referenced by GAME_GetImportData().

◆ UI_MessageResetStack()

void UI_MessageResetStack ( void )

Definition at line 75 of file ui_node_messagelist.cpp.

References messageStack.

Referenced by GAME_GetImportData(), and cgame_import_t::void().

◆ UI_RegisterMessageListNode()

Variable Documentation

◆ DATETIME_COLUUI_SIZE

const int DATETIME_COLUUI_SIZE = 200
static

Definition at line 49 of file ui_node_messagelist.cpp.

Referenced by UI_MessageDraw(), and UI_MessageGetLines().

◆ lastDate

char* lastDate
static

Definition at line 100 of file ui_node_messagelist.cpp.

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

◆ LINEHEIGHT

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

Definition at line 47 of file ui_node_messagelist.cpp.

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

◆ messageStack

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

Definition at line 68 of file ui_node_messagelist.cpp.

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

◆ mouseScrollX

◆ mouseScrollY