diff options
author | Peter Nelson <peter1138@openttd.org> | 2021-04-19 12:12:07 +0100 |
---|---|---|
committer | PeterN <peter@fuzzle.org> | 2021-04-22 16:42:04 +0100 |
commit | 636e37d1832dbcb3aa12c915ede5a9d26d231d24 (patch) | |
tree | 5c8deb467b921a934f8817c042680b160de99bc8 /src/widget_type.h | |
parent | 2a0365b3d992fb602fd91b218b4a8647ddb46975 (diff) | |
download | openttd-636e37d1832dbcb3aa12c915ede5a9d26d231d24.tar.xz |
Codechange: Add internal widget alignment property, along with widget part.
Diffstat (limited to 'src/widget_type.h')
-rw-r--r-- | src/widget_type.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/widget_type.h b/src/widget_type.h index a5b323b87..97f64ba1b 100644 --- a/src/widget_type.h +++ b/src/widget_type.h @@ -89,6 +89,7 @@ enum WidgetType { WPT_DATATIP, ///< Widget part for specifying data and tooltip. WPT_PADDING, ///< Widget part for specifying a padding. WPT_PIPSPACE, ///< Widget part for specifying pre/inter/post space for containers. + WPT_ALIGNMENT, ///< Widget part for specifying text/image alignment. WPT_ENDCONTAINER, ///< Widget part to denote end of a container. WPT_FUNCTION, ///< Widget part for calling a user function. WPT_SCROLLBAR, ///< Widget part for attaching a scrollbar. @@ -296,6 +297,7 @@ public: void SetIndex(int index); void SetDataTip(uint32 widget_data, StringID tool_tip); void SetToolTip(StringID tool_tip); + void SetAlignment(StringAlignment align); inline void SetLowered(bool lowered); inline bool IsLowered() const; @@ -315,6 +317,7 @@ public: StringID tool_tip; ///< Tooltip of the widget. @see Widget::tootips int scrollbar_index; ///< Index of an attached scrollbar. TextColour highlight_colour; ///< Colour of highlight. + StringAlignment align; ///< Alignment of text/image within widget. }; /** @@ -906,6 +909,14 @@ struct NWidgetPartTextLines { }; /** + * Widget part for setting text/image alignment within a widget. + * @ingroup NestedWidgetParts + */ +struct NWidgetPartAlignment { + StringAlignment align; ///< Alignment of text/image. +}; + +/** * Pointer to function returning a nested widget. * @param biggest_index Pointer to storage for collecting the biggest index used in the nested widget. * @return Nested widget (tree). @@ -926,6 +937,7 @@ struct NWidgetPart { NWidgetPartPaddings padding; ///< Part with paddings. NWidgetPartPIP pip; ///< Part with pre/inter/post spaces. NWidgetPartTextLines text_lines; ///< Part with text line data. + NWidgetPartAlignment align; ///< Part with internal alignment. NWidgetFunctionType *func_ptr; ///< Part with a function call. NWidContainerFlags cont_flags; ///< Part with container flags. } u; @@ -985,6 +997,21 @@ static inline NWidgetPart SetMinimalTextLines(uint8 lines, uint8 spacing, FontSi } /** + * Widget part function for setting the alignment of text/images. + * @param align Alignment of text/image within widget. + * @ingroup NestedWidgetParts + */ +static inline NWidgetPart SetAlignment(StringAlignment align) +{ + NWidgetPart part; + + part.type = WPT_ALIGNMENT; + part.u.align.align = align; + + return part; +} + +/** * Widget part function for setting filling. * @param fill_x Horizontal filling step from minimal size. * @param fill_y Vertical filling step from minimal size. |