|
OpenTTD Source
13.2.1
|
#include "stdafx.h"#include "window_gui.h"#include "command_func.h"#include "train.h"#include "strings_func.h"#include "vehicle_func.h"#include "zoom_func.h"#include "train_cmd.h"#include "table/strings.h"#include "safeguards.h"Go to the source code of this file.
Data Structures | |
| struct | CargoSummaryItem |
| Helper struct for the cargo details information. More... | |
Typedefs | |
| typedef std::vector< CargoSummaryItem > | CargoSummary |
| Container for the cargo summary information. | |
Functions | |
| void | CcBuildWagon (Commands cmd, const CommandCost &result, VehicleID new_veh_id, uint, uint16, CargoArray, TileIndex tile, EngineID, bool, CargoID, ClientID) |
| Callback for building wagons. More... | |
| static int | HighlightDragPosition (int px, int max_width, int y, VehicleID selection, bool chain) |
| Highlight the position where a rail vehicle is dragged over by drawing a light gray background. More... | |
| void | DrawTrainImage (const Train *v, const Rect &r, VehicleID selection, EngineImageType image_type, int skip, VehicleID drag_dest) |
| Draws an image of a whole train. More... | |
| static void | TrainDetailsCargoTab (const CargoSummaryItem *item, int left, int right, int y) |
| Draw the details cargo tab for the given vehicle at the given position. More... | |
| static void | TrainDetailsInfoTab (const Vehicle *v, int left, int right, int y) |
| Draw the details info tab for the given vehicle at the given position. More... | |
| static void | TrainDetailsCapacityTab (const CargoSummaryItem *item, int left, int right, int y) |
| Draw the details capacity tab for the given vehicle at the given position. More... | |
| static void | GetCargoSummaryOfArticulatedVehicle (const Train *v, CargoSummary *summary) |
| Collects the cargo transported. More... | |
| static uint | GetLengthOfArticulatedVehicle (const Train *v) |
| Get the length of an articulated vehicle. More... | |
| int | GetTrainDetailsWndVScroll (VehicleID veh_id, TrainDetailsWindowTabs det_tab) |
| Determines the number of lines in the train details window. More... | |
| void | DrawTrainDetails (const Train *v, const Rect &r, int vscroll_pos, uint16 vscroll_cap, TrainDetailsWindowTabs det_tab) |
| Draw the details for the given vehicle at the given position. More... | |
Variables | |
| static const uint | TRAIN_DETAILS_MIN_INDENT = 32 |
| Minimum indent level in the train details window. | |
| static const uint | TRAIN_DETAILS_MAX_INDENT = 72 |
| Maximum indent level in the train details window; wider than this and we start on a new line. | |
| static CargoSummary | _cargo_summary |
| Reused container of cargo details. | |
GUI for trains.
Definition in file train_gui.cpp.
| void CcBuildWagon | ( | Commands | cmd, |
| const CommandCost & | result, | ||
| VehicleID | new_veh_id, | ||
| uint | , | ||
| uint16 | , | ||
| CargoArray | , | ||
| TileIndex | tile, | ||
| EngineID | , | ||
| bool | , | ||
| CargoID | , | ||
| ClientID | |||
| ) |
Callback for building wagons.
| cmd | Unused. |
| result | The result of the command. |
| new_veh_id | ID of the ne vehicle. |
| tile | The tile the command was executed on. |
Definition at line 30 of file train_gui.cpp.
| void DrawTrainDetails | ( | const Train * | v, |
| const Rect & | r, | ||
| int | vscroll_pos, | ||
| uint16 | vscroll_cap, | ||
| TrainDetailsWindowTabs | det_tab | ||
| ) |
Draw the details for the given vehicle at the given position.
| v | current vehicle |
| r | the Rect to draw within |
| vscroll_pos | Position of scrollbar |
| vscroll_cap | Number of lines currently displayed |
| det_tab | Selected details tab |
Definition at line 363 of file train_gui.cpp.
References _current_text_dir, DIR_E, DIR_W, FONT_HEIGHT_NORMAL, Rect::Height(), TD_RTL, and TDW_TAB_TOTALS.
Referenced by VehicleDetailsWindow::DrawVehicleDetails().
| void DrawTrainImage | ( | const Train * | v, |
| const Rect & | r, | ||
| VehicleID | selection, | ||
| EngineImageType | image_type, | ||
| int | skip, | ||
| VehicleID | drag_dest | ||
| ) |
Draws an image of a whole train.
| v | Front vehicle |
| r | Rect to draw at |
| selection | Selected vehicle to draw a frame around |
| skip | Number of pixels to skip at the front (for scrolling) |
| drag_dest | The vehicle another one is dragged over, INVALID_VEHICLE if none. |
Definition at line 94 of file train_gui.cpp.
References _current_text_dir, DIR_E, DIR_W, FillDrawPixelInfo(), Rect::Height(), TD_RTL, and Rect::Width().
Referenced by DrawVehicleImage().
|
static |
Collects the cargo transported.
| v | Vehicle to process |
| summary | Space for the result |
Definition at line 272 of file train_gui.cpp.
References Engine::CanCarryCargo(), CargoSummaryItem::cargo, Vehicle::cargo_cap, Vehicle::cargo_type, GetCargoSubtypeText(), Vehicle::GetEngine(), INVALID_CARGO, and CargoSummaryItem::subtype.
Referenced by GetTrainDetailsWndVScroll().
|
static |
Get the length of an articulated vehicle.
| v | the vehicle to get the length of. |
Definition at line 305 of file train_gui.cpp.
References Train::GetDisplayImageWidth(), Vehicle::IsArticulatedPart(), and SpecializedVehicle< T, Type >::Next().
Referenced by GetTrainDetailsWndVScroll().
| int GetTrainDetailsWndVScroll | ( | VehicleID | veh_id, |
| TrainDetailsWindowTabs | det_tab | ||
| ) |
Determines the number of lines in the train details window.
| veh_id | Train |
| det_tab | Selected details tab |
Definition at line 322 of file train_gui.cpp.
References _cargo_summary, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::Get(), SpecializedVehicle< Train, Type >::Get(), GetCargoSummaryOfArticulatedVehicle(), GetLengthOfArticulatedVehicle(), SpecializedVehicle< T, Type >::GetNextVehicle(), NUM_CARGO, ScaleSpriteTrad(), TDW_TAB_TOTALS, and TRAIN_DETAILS_MAX_INDENT.
Referenced by VehicleDetailsWindow::OnPaint().
|
static |
Highlight the position where a rail vehicle is dragged over by drawing a light gray background.
| px | The current x position to draw from. |
| max_width | The maximum space available to draw. |
| y | The vertical centre position to draw from. |
| selection | Selected vehicle that is dragged. |
| chain | Whether a whole chain is dragged. |
Definition at line 61 of file train_gui.cpp.
|
static |
Draw the details capacity tab for the given vehicle at the given position.
| item | Data to draw |
| left | The left most coordinate to draw |
| right | The right most coordinate to draw |
| y | The y coordinate |
Definition at line 250 of file train_gui.cpp.
|
static |
Draw the details cargo tab for the given vehicle at the given position.
| item | Data to draw |
| left | The left most coordinate to draw |
| right | The right most coordinate to draw |
| y | The y coordinate |
Definition at line 203 of file train_gui.cpp.
|
static |
Draw the details info tab for the given vehicle at the given position.
| v | current vehicle |
| left | The left most coordinate to draw |
| right | The right most coordinate to draw |
| y | The y coordinate |
Definition at line 228 of file train_gui.cpp.