OpenTTD Source 20241224-master-gf74b0cf984
CursorVars Struct Reference

Collection of variables for cursor-display and -animation. More...

#include <gfx_type.h>

Public Member Functions

void UpdateCursorPositionRelative (int delta_x, int delta_y)
 Update cursor position based on a relative change.
 
bool UpdateCursorPosition (int x, int y)
 Update cursor position on mouse movement.
 

Data Fields

Point pos
 logical mouse position
 
Point delta
 relative mouse movement in this tick
 
int wheel
 mouse wheel movement
 
bool fix_at
 mouse is moving, but cursor is not (used for scrolling)
 
bool wheel_moved
 
float v_wheel
 
float h_wheel
 
std::vector< CursorSpritesprites
 Sprites comprising cursor.
 
Point total_offs
 
Point total_size
 union of sprite properties
 
Point draw_pos
 
Point draw_size
 position and size bounding-box for drawing
 
const AnimCursoranimate_list
 in case of animated cursor, list of frames
 
const AnimCursoranimate_cur
 in case of animated cursor, current frame
 
uint animate_timeout
 in case of animated cursor, number of ticks to show the current cursor
 
bool visible
 cursor is visible
 
bool dirty
 the rect occupied by the mouse is dirty (redraw)
 
bool in_window
 mouse inside this window, determines drawing logic
 
bool vehchain
 vehicle chain is dragged
 

Detailed Description

Collection of variables for cursor-display and -animation.

Definition at line 123 of file gfx_type.h.

Member Function Documentation

◆ UpdateCursorPosition()

bool CursorVars::UpdateCursorPosition ( int  x,
int  y 
)

Update cursor position on mouse movement.

Parameters
xNew X position.
yNew Y position.
Returns
true, if the OS cursor position should be warped back to this->pos.

Definition at line 1728 of file gfx.cpp.

References delta, dirty, fix_at, and pos.

Referenced by VideoDriver_SDL_Base::PollEvent(), and VideoDriver_SDL::PollEvent().

◆ UpdateCursorPositionRelative()

void CursorVars::UpdateCursorPositionRelative ( int  delta_x,
int  delta_y 
)

Update cursor position based on a relative change.

Parameters
delta_xHow much change in the X position.
delta_yHow much change in the Y position.

Definition at line 1714 of file gfx.cpp.

References delta, and fix_at.

Field Documentation

◆ animate_cur

const AnimCursor* CursorVars::animate_cur

in case of animated cursor, current frame

Definition at line 142 of file gfx_type.h.

Referenced by SetAnimatedMouseCursor().

◆ animate_list

const AnimCursor* CursorVars::animate_list

in case of animated cursor, list of frames

Definition at line 141 of file gfx_type.h.

Referenced by SetAnimatedMouseCursor().

◆ animate_timeout

uint CursorVars::animate_timeout

in case of animated cursor, number of ticks to show the current cursor

Definition at line 143 of file gfx_type.h.

Referenced by SetMouseCursor().

◆ delta

Point CursorVars::delta

◆ dirty

bool CursorVars::dirty

the rect occupied by the mouse is dirty (redraw)

Definition at line 146 of file gfx_type.h.

Referenced by UpdateCursorPosition(), and UpdateCursorSize().

◆ draw_pos

Point CursorVars::draw_pos

Definition at line 139 of file gfx_type.h.

◆ draw_size

Point CursorVars::draw_size

position and size bounding-box for drawing

Definition at line 139 of file gfx_type.h.

Referenced by NetworkUndrawChatMessage(), and RedrawScreenRect().

◆ fix_at

bool CursorVars::fix_at

◆ h_wheel

float CursorVars::h_wheel

Definition at line 133 of file gfx_type.h.

◆ in_window

bool CursorVars::in_window

mouse inside this window, determines drawing logic

Definition at line 147 of file gfx_type.h.

Referenced by GuiShowTooltips(), HandleMouseEvents(), TooltipsWindow::OnMouseLoop(), openttd_main(), VideoDriver_SDL_Base::PollEvent(), and VideoDriver_SDL::PollEvent().

◆ pos

◆ sprites

std::vector<CursorSprite> CursorVars::sprites

Sprites comprising cursor.

Definition at line 136 of file gfx_type.h.

Referenced by SetAnimatedMouseCursor(), SetCursorSprite(), SetMouseCursorBusy(), SetMouseCursorVehicle(), and UpdateCursorSize().

◆ total_offs

Point CursorVars::total_offs

Definition at line 137 of file gfx_type.h.

◆ total_size

Point CursorVars::total_size

union of sprite properties

Definition at line 137 of file gfx_type.h.

Referenced by TooltipsWindow::OnInitialPosition(), and UpdateCursorSize().

◆ v_wheel

float CursorVars::v_wheel

Definition at line 132 of file gfx_type.h.

◆ vehchain

◆ visible

bool CursorVars::visible

cursor is visible

Definition at line 145 of file gfx_type.h.

Referenced by NetworkUndrawChatMessage(), and RedrawScreenRect().

◆ wheel

int CursorVars::wheel

mouse wheel movement

Definition at line 127 of file gfx_type.h.

Referenced by HandleMouseEvents(), VideoDriver_SDL_Base::PollEvent(), and VideoDriver_SDL::PollEvent().

◆ wheel_moved

bool CursorVars::wheel_moved

Definition at line 131 of file gfx_type.h.


The documentation for this struct was generated from the following files: