diff src/widget_type.h @ 15214:238a73de7bcf draft

(svn r19843) -Codechange: Move ComputeMaxSize() to widget_type.h to make it globally accessible.
author alberth <alberth@openttd.org>
date Sun, 16 May 2010 19:13:31 +0000 (2010-05-16)
parents 43a5d37b45c4
children c68f3c67204d
line wrap: on
line diff
--- a/src/widget_type.h
+++ b/src/widget_type.h
@@ -486,6 +486,22 @@
 };
 
 /**
+ * Return the biggest possible size of a nested widget.
+ * @param base      Base size of the widget.
+ * @param max_space Available space for the widget.
+ * @param step      Stepsize of the widget.
+ * @return Biggest possible size of the widget, assuming that \a base may only be incremented by \a step size steps.
+ */
+static FORCEINLINE uint ComputeMaxSize(uint base, uint max_space, uint step)
+{
+	if (base >= max_space || step == 0) return base;
+	if (step == 1) return max_space;
+	uint increment = max_space - base;
+	increment -= increment % step;
+	return base + increment;
+}
+
+/**
  * @defgroup NestedWidgetParts Hierarchical widget parts
  * To make nested widgets easier to enter, nested widget parts have been created. They allow the tree to be defined in a flat array of parts.
  *