OpenTTD Source 20250426-master-gbb1d561369
Rect Struct Reference

Specification of a rectangle with absolute coordinates of all edges. More...

#include <geometry_type.hpp>

Inheritance diagram for Rect:
StationRect

Public Member Functions

int Width () const
 Get width of Rect.
 
int Height () const
 Get height of Rect.
 
Rect Shrink (int s) const
 Copy and shrink Rect by s pixels.
 
Rect Shrink (int h, int v) const
 Copy and shrink Rect by h horizontal and v vertical pixels.
 
Rect Shrink (int left, int top, int right, int bottom) const
 Copy and shrink Rect by pixels.
 
Rect Shrink (const RectPadding &other) const
 Copy and shrink Rect by a RectPadding.
 
Rect Shrink (const RectPadding &horz, const RectPadding &vert) const
 Copy and shrink Rect by a different horizontal and vertical RectPadding.
 
Rect Expand (int s) const
 Copy and expand Rect by s pixels.
 
Rect Expand (const RectPadding &other) const
 Copy and expand Rect by a RectPadding.
 
Rect Translate (int x, int y) const
 Copy and translate Rect by x,y pixels.
 
Rect WithWidth (int width, bool end) const
 Copy Rect and set its width.
 
Rect Indent (int indent, bool end) const
 Copy Rect and indent it from its position.
 
Rect WithHeight (int height, bool end=false) const
 Copy Rect and set its height.
 
bool Contains (const Point &pt) const
 Test if a point falls inside this Rect.
 

Data Fields

int left = 0
 
int top = 0
 
int right = 0
 
int bottom = 0
 

Detailed Description

Specification of a rectangle with absolute coordinates of all edges.

Definition at line 86 of file geometry_type.hpp.

Member Function Documentation

◆ Contains()

bool Rect::Contains ( const Point pt) const
inline

Test if a point falls inside this Rect.

Parameters
ptthe point to test.
Returns
true iff the point falls inside the Rect.

Definition at line 234 of file geometry_type.hpp.

Referenced by IndustryViewWindow::OnClick().

◆ Expand() [1/2]

Rect Rect::Expand ( const RectPadding other) const
inline

Copy and expand Rect by a RectPadding.

Parameters
otherRectPadding to add to each side of Rect.
Returns
the new larger Rect.

Definition at line 174 of file geometry_type.hpp.

◆ Expand() [2/2]

Rect Rect::Expand ( int  s) const
inline

Copy and expand Rect by s pixels.

Parameters
snumber of pixels to add to each side of Rect.
Returns
the new larger Rect.

Definition at line 164 of file geometry_type.hpp.

References Shrink().

Referenced by DrawAircraftImage(), DrawFrame(), DrawRoadVehImage(), DrawShipImage(), DrawTrainImage(), SpriteAlignerWindow::DrawWidget(), RefitWindow::DrawWidget(), and Window::DrawWidgets().

◆ Height()

◆ Indent()

Rect Rect::Indent ( int  indent,
bool  end 
) const
inline

◆ Shrink() [1/5]

Rect Rect::Shrink ( const RectPadding horz,
const RectPadding vert 
) const
inline

Copy and shrink Rect by a different horizontal and vertical RectPadding.

Parameters
horzRectPadding to remove from left and right of Rect.
vertRectPadding to remove from top and bottom of Rect.
Returns
the new smaller Rect.

Definition at line 154 of file geometry_type.hpp.

◆ Shrink() [2/5]

Rect Rect::Shrink ( const RectPadding other) const
inline

Copy and shrink Rect by a RectPadding.

Parameters
otherRectPadding to remove from each side of Rect.
Returns
the new smaller Rect.

Definition at line 143 of file geometry_type.hpp.

◆ Shrink() [3/5]

Rect Rect::Shrink ( int  h,
int  v 
) const
inline

Copy and shrink Rect by h horizontal and v vertical pixels.

Parameters
hnumber of pixels to remove from left and right sides.
vnumber of pixels to remove from top and bottom sides.
Returns
the new smaller Rect.

Definition at line 120 of file geometry_type.hpp.

◆ Shrink() [4/5]

Rect Rect::Shrink ( int  left,
int  top,
int  right,
int  bottom 
) const
inline

Copy and shrink Rect by pixels.

Parameters
leftnumber of pixels to remove from left side.
topnumber of pixels to remove from top side.
rightnumber of pixels to remove from right side.
bottomnumber of pixels to remove from bottom side.
Returns
the new smaller Rect.

Definition at line 133 of file geometry_type.hpp.

◆ Shrink() [5/5]

Rect Rect::Shrink ( int  s) const
inline

Copy and shrink Rect by s pixels.

Parameters
snumber of pixels to remove from each side of Rect.
Returns
the new smaller Rect.

Definition at line 109 of file geometry_type.hpp.

Referenced by NWidgetBackground::Draw(), NWidgetScrollbar::Draw(), NWidgetLeaf::Draw(), StationViewWindow::DrawAcceptedCargo(), TownAuthorityWindow::DrawActions(), TimetableWindow::DrawArrivalDeparturePanel(), DrawArrowButtons(), DrawBoolButton(), NetworkClientListWindow::DrawButtons(), DrawCaption(), StationViewWindow::DrawCargoRatings(), NetworkContentListWindow::DrawDetails(), DrawDropDownButton(), DrawEngineList(), DrawFrame(), DrawFrameRect(), IndustryViewWindow::DrawInfo(), DrawInset(), GoalListWindow::DrawListColumn(), NetworkContentListWindow::DrawMatrix(), TownAuthorityWindow::DrawRatings(), DrawResizeBox(), NetworkGameWindow::DrawServerLine(), BuildSignalWindow::DrawSignalSprite(), NewGRFInspectWindow::DrawString(), TimetableWindow::DrawSummaryPanel(), TimetableWindow::DrawTimetablePanel(), NewGRFInspectWindow::DrawVehicleChainWidget(), DepotWindow::DrawVehicleInDepot(), BaseVehicleListWindow::DrawVehicleListItems(), DrawVehicleRefitWindow(), AIConfigWindow::DrawWidget(), BuildAirportWindow::DrawWidget(), ReplaceVehicleWindow::DrawWidget(), BootstrapErrorWindow::DrawWidget(), BootstrapAskForDownloadWindow::DrawWidget(), BuildBridgeWindow::DrawWidget(), SelectCompanyLiveryWindow::DrawWidget(), CompanyInfrastructureWindow::DrawWidget(), DepotWindow::DrawWidget(), BuildDocksDepotWindow::DrawWidget(), DropdownWindow::DrawWidget(), SaveLoadWindow::DrawWidget(), GSConfigWindow::DrawWidget(), GenerateProgressWindow::DrawWidget(), GraphLegendWindow::DrawWidget(), BaseGraphWindow::DrawWidget(), PaymentRatesGraphWindow::DrawWidget(), IndustryProductionGraphWindow::DrawWidget(), VehicleGroupWindow::DrawWidget(), BuildIndustryWindow::DrawWidget(), IndustryDirectoryWindow::DrawWidget(), IndustryCargoesWindow::DrawWidget(), PerformanceLeagueWindow::DrawWidget(), ScriptLeagueWindow::DrawWidget(), LinkGraphLegendWindow::DrawWidget(), LandInfoWindow::DrawWidget(), TooltipsWindow::DrawWidget(), MusicTrackSelectionWindow::DrawWidget(), MusicWindow::DrawWidget(), BaseNetworkContentDownloadStatusWindow::DrawWidget(), NetworkClientListWindow::DrawWidget(), NetworkJoinStatusWindow::DrawWidget(), SpriteAlignerWindow::DrawWidget(), NewGRFParametersWindow::DrawWidget(), NewGRFWindow::DrawWidget(), SavePresetWindow::DrawWidget(), ScanProgressWindow::DrawWidget(), MessageHistoryWindow::DrawWidget(), BuildObjectWindow::DrawWidget(), OrdersWindow::DrawWidget(), PickerWindow::DrawWidget(), BuildRailStationWindow::DrawWidget(), BuildRailDepotWindow::DrawWidget(), BuildRoadDepotWindow::DrawWidget(), BuildRoadStationWindow::DrawWidget(), ScriptListWindow::DrawWidget(), ScriptSettingsWindow::DrawWidget(), GameOptionsWindow::DrawWidget(), SignListWindow::DrawWidget(), SmallMapWindow::DrawWidget(), CompanyStationsWindow::DrawWidget(), SelectStationWindow< T >::DrawWidget(), StatusBarWindow::DrawWidget(), StoryBookWindow::DrawWidget(), SubsidyListWindow::DrawWidget(), TextfileWindow::DrawWidget(), TownAuthorityWindow::DrawWidget(), TownViewWindow::DrawWidget(), TownDirectoryWindow::DrawWidget(), TransparenciesWindow::DrawWidget(), RefitWindow::DrawWidget(), VehicleDetailsWindow::DrawWidget(), VehicleViewWindow::DrawWidget(), ScriptDebugWindow::DrawWidgetLog(), Window::DrawWidgets(), Expand(), QueryString::GetBoundingRect(), NetworkClientListWindow::GetButtonAtPoint(), QueryString::GetCaretPosition(), QueryString::GetCharAtPosition(), DropdownWindow::GetDropDownItem(), HighlightDragPosition(), ReplaceVehicleWindow::OnClick(), BuildVehicleWindow::OnClick(), GSConfigWindow::OnClick(), IndustryViewWindow::OnClick(), NewGRFParametersWindow::OnClick(), ScriptSettingsWindow::OnClick(), ReplaceVehicleWindow::OnPaint(), BuildVehicleWindow::OnPaint(), GameOptionsWindow::OnPaint(), StationViewWindow::OnPaint(), and NetworkClientListWindow::OnTooltip().

◆ Translate()

◆ Width()

◆ WithHeight()

◆ WithWidth()

Field Documentation

◆ bottom

int Rect::bottom = 0

Definition at line 90 of file geometry_type.hpp.

◆ left

int Rect::left = 0

Definition at line 87 of file geometry_type.hpp.

◆ right

int Rect::right = 0

Definition at line 89 of file geometry_type.hpp.

◆ top

int Rect::top = 0

Definition at line 88 of file geometry_type.hpp.


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