Base class for a resizable nested widget. More...
#include <widget_type.h>
Public Member Functions | |
NWidgetResizeBase (WidgetType tp, uint fill_x, uint fill_y) | |
Constructor for resizable nested widgets. | |
void | SetMinimalSize (uint min_x, uint min_y) |
Set minimal size of the widget. | |
void | SetMinimalTextLines (uint8 min_lines, uint8 spacing, FontSize size) |
Set minimal text lines for the widget. | |
void | SetFill (uint fill_x, uint fill_y) |
Set the filling of the widget from initial size. | |
void | SetResize (uint resize_x, uint resize_y) |
Set resize step of the widget. | |
void | AssignSizePosition (SizingType sizing, uint x, uint y, uint given_width, uint given_height, bool rtl) |
Assign size and position to the widget. | |
Data Fields | |
uint | min_x |
Minimal horizontal size of only this widget. | |
uint | min_y |
Minimal vertical size of only this widget. |
Base class for a resizable nested widget.
Definition at line 233 of file widget_type.h.
NWidgetResizeBase::NWidgetResizeBase | ( | WidgetType | tp, | |
uint | fill_x, | |||
uint | fill_y | |||
) |
Constructor for resizable nested widgets.
tp | Nested widget type. | |
fill_x | Horizontal fill step size, 0 means no filling is allowed. | |
fill_y | Vertical fill step size, 0 means no filling is allowed. |
Definition at line 765 of file widget.cpp.
void NWidgetResizeBase::AssignSizePosition | ( | SizingType | sizing, | |
uint | x, | |||
uint | y, | |||
uint | given_width, | |||
uint | given_height, | |||
bool | rtl | |||
) | [virtual] |
Assign size and position to the widget.
sizing | Type of resizing to perform. | |
x | Horizontal offset of the widget relative to the left edge of the window. | |
y | Vertical offset of the widget relative to the top edge of the window. | |
given_width | Width allocated to the widget. | |
given_height | Height allocated to the widget. | |
rtl | Adapt for right-to-left languages (position contents of horizontal containers backwards). |
Afterwards, pos_x and pos_y contain the top-left position of the widget, smallest_x and smallest_y contain the smallest size such that all widgets of the window are consistent, and current_x and current_y contain the current size.
Implements NWidgetBase.
Reimplemented in NWidgetBackground.
Definition at line 815 of file widget.cpp.
References NWidgetBase::StoreSizePosition().
Referenced by NWidgetMatrix::Draw(), and NWidgetMatrix::GetWidgetFromPos().
void NWidgetResizeBase::SetFill | ( | uint | fill_x, | |
uint | fill_y | |||
) |
Set the filling of the widget from initial size.
fill_x | Horizontal fill step size, 0 means no filling is allowed. | |
fill_y | Vertical fill step size, 0 means no filling is allowed. |
Definition at line 798 of file widget.cpp.
Referenced by CargoWidgets(), MakeCargoButtons(), MakeCompanyButtonRows(), MakeNWidget(), MakeNWidgetCompanyLines(), MakePerformanceDetailPanels(), NWidgetLeaf::NWidgetLeaf(), and NWidgetScrollbar::NWidgetScrollbar().
void NWidgetResizeBase::SetMinimalSize | ( | uint | min_x, | |
uint | min_y | |||
) |
Set minimal size of the widget.
min_x | Horizontal minimal size of the widget. | |
min_y | Vertical minimal size of the widget. |
Definition at line 776 of file widget.cpp.
Referenced by AddKey(), CargoWidgets(), DropdownWindow::DropdownWindow(), MakeCompanyButtonRows(), MakeNWidget(), MakeNWidgetCompanyLines(), NWidgetLeaf::NWidgetLeaf(), NWidgetScrollbar::NWidgetScrollbar(), and NWidgetSpacer::NWidgetSpacer().
void NWidgetResizeBase::SetMinimalTextLines | ( | uint8 | min_lines, | |
uint8 | spacing, | |||
FontSize | size | |||
) |
Set minimal text lines for the widget.
min_lines | Number of text lines of the widget. | |
spacing | Extra spacing (eg WD_FRAMERECT_TOP + _BOTTOM) of the widget. | |
size | Font size of text. |
Definition at line 788 of file widget.cpp.
References GetCharacterHeight(), and min_y.
Referenced by MakeNWidget().
void NWidgetResizeBase::SetResize | ( | uint | resize_x, | |
uint | resize_y | |||
) |
Set resize step of the widget.
resize_x | Resize step in horizontal direction, value 0 means no resize, otherwise the step size in pixels. | |
resize_y | Resize step in vertical direction, value 0 means no resize, otherwise the step size in pixels. |
Definition at line 809 of file widget.cpp.
Referenced by CargoWidgets(), MakeCompanyButtonRows(), MakeNWidget(), NWidgetLeaf::NWidgetLeaf(), NWidgetScrollbar::NWidgetScrollbar(), and NWidgetSpacer::NWidgetSpacer().