UFO: Alien Invasion
ui_node_text.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_behaviour.h"
#include "../ui_render.h"
#include "../ui_lua.h"
#include "ui_node_text.h"
#include "ui_node_abstractnode.h"
#include "../../client.h"
#include "../../cl_language.h"
#include "../../../shared/parse.h"
#include "../../../common/scripts_lua.h"
Include dependency graph for ui_node_text.cpp:

Go to the source code of this file.

Macros

#define EXTRADATA_TYPE   textExtraData_t
 
#define EXTRADATA(node)   UI_EXTRADATA(node, EXTRADATA_TYPE)
 
#define EXTRADATACONST(node)   UI_EXTRADATACONST(node, EXTRADATA_TYPE)
 
#define UI_TEXTNODE_BUFFERSIZE   32768
 

Functions

const char * UI_TextNodeGetSelectedText (uiNode_t *node, int num)
 
void UI_TextNodeSelectLine (uiNode_t *node, int num)
 Change the selected line. More...
 
void UI_TextScrollEnd (const char *nodePath)
 Scroll to the bottom. More...
 
static int UI_TextNodeGetLine (const uiNode_t *node, int x, int y)
 Get the line number under an absolute position. More...
 
void UI_RegisterTextNode (uiBehaviour_t *behaviour)
 

Variables

static int mouseScrollX
 
static int mouseScrollY
 

Detailed Description

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

Definition in file ui_node_text.cpp.

Macro Definition Documentation

◆ EXTRADATA

#define EXTRADATA (   node)    UI_EXTRADATA(node, EXTRADATA_TYPE)

Definition at line 45 of file ui_node_text.cpp.

◆ EXTRADATA_TYPE

#define EXTRADATA_TYPE   textExtraData_t

Definition at line 44 of file ui_node_text.cpp.

◆ EXTRADATACONST

#define EXTRADATACONST (   node)    UI_EXTRADATACONST(node, EXTRADATA_TYPE)

Definition at line 46 of file ui_node_text.cpp.

◆ UI_TEXTNODE_BUFFERSIZE

#define UI_TEXTNODE_BUFFERSIZE   32768

Definition at line 200 of file ui_node_text.cpp.

Function Documentation

◆ UI_RegisterTextNode()

void UI_RegisterTextNode ( uiBehaviour_t behaviour)

◆ UI_TextNodeGetLine()

static int UI_TextNodeGetLine ( const uiNode_t node,
int  x,
int  y 
)
static

Get the line number under an absolute position.

Parameters
[in]nodea text node
[in]x,yposition on the screen
Returns
The line number under the position (0 = first line)

Definition at line 126 of file ui_node_text.cpp.

References EXTRADATACONST, int(), uiNode_t::padding, UI_FontGetHeight(), UI_GetFontFromNode(), UI_NodeAbsoluteToRelativePos(), and UI_NodeInstanceOf().

Referenced by uiTextNode::onLeftClick(), uiTextNode::onMouseMove(), and uiTextNode::onRightClick().

◆ UI_TextNodeGetSelectedText()

const char * UI_TextNodeGetSelectedText ( uiNode_t node,
int  num 
)

◆ UI_TextNodeSelectLine()

◆ UI_TextScrollEnd()

void UI_TextScrollEnd ( const char *  nodePath)

Variable Documentation

◆ mouseScrollX

int mouseScrollX
static

Definition at line 49 of file ui_node_text.cpp.

Referenced by uiTextNode::onCapturedMouseMove(), and uiTextNode::onMouseDown().

◆ mouseScrollY

int mouseScrollY
static

Definition at line 50 of file ui_node_text.cpp.

Referenced by uiTextNode::onCapturedMouseMove(), and uiTextNode::onMouseDown().