changeset 11811:b32bfec54ff8 draft

(svn r16201) -Codechange: Add NWidgetBase::SetPadding method.
author alberth <alberth@openttd.org>
date Sat, 02 May 2009 16:33:28 +0000 (2009-05-02)
parents 86737f4f9bf1
children c478aaaa00d6
files src/widget.cpp src/widget_type.h
diffstat 2 files changed, 17 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/src/widget.cpp
+++ b/src/widget.cpp
@@ -1636,16 +1636,9 @@
 				break;
 			}
 
-			case WPT_PADDING: {
-				NWidgetBase *nwb = *dest;
-				if (nwb != NULL) {
-					nwb->padding_top = parts->u.padding.top;
-					nwb->padding_right = parts->u.padding.right;
-					nwb->padding_bottom = parts->u.padding.bottom;
-					nwb->padding_left = parts->u.padding.left;
-				}
+			case WPT_PADDING:
+				if (*dest != NULL) (*dest)->SetPadding(parts->u.padding.top, parts->u.padding.right, parts->u.padding.bottom, parts->u.padding.left);
 				break;
-			}
 
 			case WPT_PIPSPACE: {
 				NWidgetPIPContainer *nwc = dynamic_cast<NWidgetPIPContainer *>(*dest);
--- a/src/widget_type.h
+++ b/src/widget_type.h
@@ -157,6 +157,21 @@
 
 	virtual void StoreWidgets(Widget *widgets, int length, bool left_moving, bool top_moving, bool rtl) = 0;
 
+	/**
+	 * Set additional space (padding) around the widget.
+	 * @param top    Amount of additional space above the widget.
+	 * @param right  Amount of additional space right of the widget.
+	 * @param bottom Amount of additional space below the widget.
+	 * @param left   Amount of additional space left of the widget.
+	 */
+	inline void SetPadding(uint8 top, uint8 right, uint8 bottom, uint8 left)
+	{
+		this->padding_top = top;
+		this->padding_right = right;
+		this->padding_bottom = bottom;
+		this->padding_left = left;
+	};
+
 	WidgetType type;      ///< Type of the widget / nested widget.
 	uint min_x;           ///< Minimal horizontal size.
 	uint min_y;           ///< Minimal vertical size.