UFO: Alien Invasion
ui_node_vscrollbar.cpp File Reference
#include "../ui_nodes.h"
#include "../ui_behaviour.h"
#include "../ui_parse.h"
#include "../ui_timer.h"
#include "../ui_actions.h"
#include "../ui_input.h"
#include "../ui_render.h"
#include "../ui_lua.h"
#include "ui_node_abstractnode.h"
#include "ui_node_abstractscrollbar.h"
#include "ui_node_vscrollbar.h"
#include "../../input/cl_input.h"
#include "../../input/cl_keys.h"
#include "../../../common/scripts_lua.h"
Include dependency graph for ui_node_vscrollbar.cpp:

Go to the source code of this file.

Macros

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

Functions

static void UI_VScrollbarNodeGetElementSize (uiNode_t *node, int description[5])
 Return size of all elements of the scrollbar. More...
 
static int UI_VScrollbarNodeGetElement (uiNode_t *node, int description[5], int x, int y)
 Get an element of the scrollbar at a position. More...
 
static void UI_VScrollbarNodeDiff (uiNode_t *node, int value)
 Translate the position to a value. More...
 
static void UI_VScrollbarNodeAction (uiNode_t *node, int hoveredElement, bool allowCapture)
 
static void UI_VScrollbarNodeRepeat (uiNode_t *node, uiTimer_t *timer)
 
void UI_RegisterVScrollbarNode (uiBehaviour_t *behaviour)
 

Variables

static const int TILE_WIDTH = 32
 
static const int TILE_HEIGHT = 18
 
static const int ELEMENT_WIDTH = 19
 
static const int ELEMENT_HEIGHT = 16
 
static int oldPos
 
static int oldMouseY
 
static uiTimer_tcapturedTimer
 
static int capturedElement
 

Detailed Description

Todo:

implement disabled

robustness

Definition in file ui_node_vscrollbar.cpp.

Macro Definition Documentation

◆ EXTRADATA

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

Definition at line 55 of file ui_node_vscrollbar.cpp.

Function Documentation

◆ UI_RegisterVScrollbarNode()

◆ UI_VScrollbarNodeAction()

static void UI_VScrollbarNodeAction ( uiNode_t node,
int  hoveredElement,
bool  allowCapture 
)
inlinestatic
Parameters
[in]nodeOur scrollbar
[in]hoveredElementbeginarrow, mid, scroll, mid, endarrow
[in]allowCaptureidk

Definition at line 115 of file ui_node_vscrollbar.cpp.

References capturedElement, capturedTimer, EXTRADATA, mousePosY, oldMouseY, oldPos, UI_AllocTimer(), UI_SetMouseCapture(), UI_TimerStart(), UI_VScrollbarNodeDiff(), and UI_VScrollbarNodeRepeat().

Referenced by uiVScrollbarNode::onMouseDown(), and UI_VScrollbarNodeRepeat().

◆ UI_VScrollbarNodeDiff()

static void UI_VScrollbarNodeDiff ( uiNode_t node,
int  value 
)
inlinestatic

Translate the position to a value.

Definition at line 95 of file ui_node_vscrollbar.cpp.

References EXTRADATA, and UI_AbstractScrollbarNodeSet().

Referenced by UI_VScrollbarNodeAction().

◆ UI_VScrollbarNodeGetElement()

static int UI_VScrollbarNodeGetElement ( uiNode_t node,
int  description[5],
int  x,
int  y 
)
static

Get an element of the scrollbar at a position.

Parameters
[in]nodeAbsolute position y
[in]descriptionSize of each scroll bar elements (beginarrow, mid, scroll, mid, endarrow)
[in]x,yAbsolute position

Definition at line 80 of file ui_node_vscrollbar.cpp.

References i, and UI_NodeAbsoluteToRelativePos().

Referenced by uiVScrollbarNode::draw(), and uiVScrollbarNode::onMouseDown().

◆ UI_VScrollbarNodeGetElementSize()

static void UI_VScrollbarNodeGetElementSize ( uiNode_t node,
int  description[5] 
)
static

Return size of all elements of the scrollbar.

Definition at line 60 of file ui_node_vscrollbar.cpp.

References uiNode_t::box, ELEMENT_HEIGHT, EXTRADATA, and uiBox_t::size.

Referenced by uiVScrollbarNode::draw(), and uiVScrollbarNode::onMouseDown().

◆ UI_VScrollbarNodeRepeat()

static void UI_VScrollbarNodeRepeat ( uiNode_t node,
uiTimer_t timer 
)
static

Definition at line 102 of file ui_node_vscrollbar.cpp.

References capturedElement, and UI_VScrollbarNodeAction().

Referenced by UI_VScrollbarNodeAction().

Variable Documentation

◆ capturedElement

◆ capturedTimer

uiTimer_t* capturedTimer
static

◆ ELEMENT_HEIGHT

◆ ELEMENT_WIDTH

const int ELEMENT_WIDTH = 19
static

Definition at line 47 of file ui_node_vscrollbar.cpp.

Referenced by uiVScrollbarNode::draw().

◆ oldMouseY

int oldMouseY
static

◆ oldPos

◆ TILE_HEIGHT

const int TILE_HEIGHT = 18
static

Definition at line 46 of file ui_node_vscrollbar.cpp.

Referenced by uiVScrollbarNode::draw().

◆ TILE_WIDTH

const int TILE_WIDTH = 32
static

Definition at line 45 of file ui_node_vscrollbar.cpp.

Referenced by uiVScrollbarNode::draw().