OpenTTD Source 20241224-master-gf74b0cf984
station_gui.h File Reference

Contains enums and function declarations connected with stations GUI. More...

#include "command_type.h"
#include "tilearea_type.h"
#include "window_type.h"
#include "station_type.h"

Go to the source code of this file.

Typedefs

using StationPickerCmdProc = std::function< bool(bool test, StationID to_join)>
 

Enumerations

enum  StationCoverageType { SCT_PASSENGERS_ONLY , SCT_NON_PASSENGERS_ONLY , SCT_ALL }
 Types of cargo to display for station coverage. More...
 

Functions

int DrawStationCoverageAreaText (int left, int right, int top, StationCoverageType sct, int rad, bool supplies)
 Calculates and draws the accepted or supplied cargo around the selected tile(s)
 
void CheckRedrawStationCoverage (const Window *w)
 Check whether we need to redraw the station coverage text.
 
void CheckRedrawRailWaypointCoverage (const Window *w)
 
void CheckRedrawRoadWaypointCoverage (const Window *w)
 
void ShowSelectStationIfNeeded (TileArea ta, StationPickerCmdProc proc)
 Show the station selection window when needed.
 
void ShowSelectRailWaypointIfNeeded (TileArea ta, StationPickerCmdProc proc)
 Show the rail waypoint selection window when needed.
 
void ShowSelectRoadWaypointIfNeeded (TileArea ta, StationPickerCmdProc proc)
 Show the road waypoint selection window when needed.
 

Detailed Description

Contains enums and function declarations connected with stations GUI.

Definition in file station_gui.h.

Typedef Documentation

◆ StationPickerCmdProc

using StationPickerCmdProc = std::function<bool(bool test, StationID to_join)>

Definition at line 31 of file station_gui.h.

Enumeration Type Documentation

◆ StationCoverageType

Types of cargo to display for station coverage.

Enumerator
SCT_PASSENGERS_ONLY 

Draw only passenger class cargoes.

SCT_NON_PASSENGERS_ONLY 

Draw all non-passenger class cargoes.

SCT_ALL 

Draw all cargoes.

Definition at line 20 of file station_gui.h.

Function Documentation

◆ CheckRedrawRailWaypointCoverage()

void CheckRedrawRailWaypointCoverage ( const Window w)

Definition at line 198 of file station_gui.cpp.

◆ CheckRedrawRoadWaypointCoverage()

void CheckRedrawRoadWaypointCoverage ( const Window w)

Definition at line 203 of file station_gui.cpp.

◆ CheckRedrawStationCoverage()

void CheckRedrawStationCoverage ( const Window w)

Check whether we need to redraw the station coverage text.

If it is needed actually make the window for redrawing.

Parameters
wthe window to check.

Definition at line 160 of file station_gui.cpp.

References _ctrl_pressed, _settings_client, TileHighlightData::dirty, TileHighlightData::drawstyle, ClientSettings::gui, HT_RECT, Window::SetDirty(), and GUISettings::station_show_coverage.

Referenced by BuildAirportWindow::OnRealtimeTick(), BuildDocksStationWindow::OnRealtimeTick(), BuildRailStationWindow::OnRealtimeTick(), and BuildRoadStationWindow::OnRealtimeTick().

◆ DrawStationCoverageAreaText()

int DrawStationCoverageAreaText ( int  left,
int  right,
int  top,
StationCoverageType  sct,
int  rad,
bool  supplies 
)

Calculates and draws the accepted or supplied cargo around the selected tile(s)

Parameters
leftx position where the string is to be drawn
rightthe right most position to draw on
topy position where the string is to be drawn
sctwhich type of cargo is to be displayed (passengers/non-passengers)
radradius around selected tile(s) to be searched
suppliesif supplied cargoes should be drawn, else accepted cargoes
Returns
Returns the y value below the string that was drawn

Definition at line 77 of file station_gui.cpp.

References CC_PASSENGERS, DrawStringMultiLine(), TileHighlightData::drawstyle, GetAcceptanceAroundTiles(), GetProductionAroundTiles(), HT_RECT, IsCargoInClass(), NUM_CARGO, TileHighlightData::pos, SCT_ALL, SCT_NON_PASSENGERS_ONLY, SCT_PASSENGERS_ONLY, SetBit(), SetDParam(), Map::Size(), TileHighlightData::size, TILE_SIZE, and TileVirtXY().

Referenced by BuildAirportWindow::OnPaint(), BuildDocksStationWindow::OnPaint(), BuildRailStationWindow::OnPaint(), and BuildRoadStationWindow::OnPaint().

◆ ShowSelectRailWaypointIfNeeded()

void ShowSelectRailWaypointIfNeeded ( TileArea  ta,
StationPickerCmdProc  proc 
)

Show the rail waypoint selection window when needed.

If not, build the waypoint.

Parameters
taArea to build the waypoint in
procFunction called to execute the build command.

Definition at line 2493 of file station_gui.cpp.

Referenced by BuildRailToolbarWindow::OnPlaceMouseUp().

◆ ShowSelectRoadWaypointIfNeeded()

void ShowSelectRoadWaypointIfNeeded ( TileArea  ta,
StationPickerCmdProc  proc 
)

Show the road waypoint selection window when needed.

If not, build the waypoint.

Parameters
taArea to build the waypoint in
procFunction called to execute the build command.

Definition at line 2503 of file station_gui.cpp.

Referenced by BuildRoadToolbarWindow::OnPlaceMouseUp().

◆ ShowSelectStationIfNeeded()

void ShowSelectStationIfNeeded ( TileArea  ta,
StationPickerCmdProc  proc 
)

Show the station selection window when needed.

If not, build the station.

Parameters
taArea to build the station in
procFunction called to execute the build command.

Definition at line 2483 of file station_gui.cpp.

Referenced by BuildDocksToolbarWindow::OnPlaceObject(), PlaceAirport(), PlaceRail_Station(), and PlaceRoadStop().