NWidgetResizeBase Class Reference
[Hierarchical widgets]

Base class for a resizable nested widget. More...

#include <widget_type.h>

Inheritance diagram for NWidgetResizeBase:
NWidgetBase ZeroedMemoryAllocator NWidgetCore NWidgetSpacer NWidgetBackground NWidgetLeaf NWidgetScrollbar NWidgetViewport

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.

Detailed Description

Base class for a resizable nested widget.

Definition at line 228 of file widget_type.h.


Constructor & Destructor Documentation

NWidgetResizeBase::NWidgetResizeBase ( WidgetType  tp,
uint  fill_x,
uint  fill_y 
)

Constructor for resizable nested widgets.

Parameters:
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 716 of file widget.cpp.


Member Function Documentation

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.

Parameters:
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 766 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.

Parameters:
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 749 of file widget.cpp.

Referenced by CargoWidgets(), MakeButtonsColumn(), MakeCargoButtons(), MakeCompanyButtonRows(), MakeDescriptionColumn(), MakeNWidget(), MakeNWidgetCompanyLines(), MakePerformanceDetailPanels(), NWidgetLeaf::NWidgetLeaf(), and NWidgetScrollbar::NWidgetScrollbar().

void NWidgetResizeBase::SetMinimalSize ( uint  min_x,
uint  min_y 
)

Set minimal size of the widget.

Parameters:
min_x Horizontal minimal size of the widget.
min_y Vertical minimal size of the widget.

Definition at line 727 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.

Parameters:
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 739 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.

Parameters:
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 760 of file widget.cpp.

Referenced by CargoWidgets(), MakeCompanyButtonRows(), MakeNWidget(), NWidgetLeaf::NWidgetLeaf(), NWidgetScrollbar::NWidgetScrollbar(), and NWidgetSpacer::NWidgetSpacer().


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

Generated on Sun May 15 19:21:15 2011 for OpenTTD by  doxygen 1.6.1