diff src/settings_gui.cpp @ 10540:ad93cc8a687f draft

(svn r14797) -Codechange: replace even more magic numbers with constants (Alberth)
author rubidium <rubidium@openttd.org>
date Sat, 03 Jan 2009 11:00:40 +0000
parents bda85ac58f4f
children 9742f1fb3d1b
line wrap: on
line diff
--- a/src/settings_gui.cpp
+++ b/src/settings_gui.cpp
@@ -752,6 +752,9 @@
 };
 
 struct PatchesSelectionWindow : Window {
+	static const int SETTINGTREE_LEFT_OFFSET; ///< Position of left edge of patch values
+	static const int SETTINGTREE_TOP_OFFSET;  ///< Position of top edge of patch values
+
 	static GameSettings *patches_ptr;  ///< Pointer to the game settings being displayed and modified
 	static int patches_max;  ///< Maximal number of patches on a single page
 
@@ -761,6 +764,13 @@
 
 	PatchesSelectionWindow(const WindowDesc *desc) : Window(desc)
 	{
+		/* Check that the widget doesn't get moved without adapting the constant as well.
+		 *  - SETTINGTREE_LEFT_OFFSET should be 5 pixels to the right of the left edge of the panel
+		 *  - SETTINGTREE_TOP_OFFSET should be 5 pixels below the top edge of the panel
+		 */
+		assert(this->widget[PATCHSEL_OPTIONSPANEL].left + 5 == SETTINGTREE_LEFT_OFFSET);
+		assert(this->widget[PATCHSEL_OPTIONSPANEL].top + 5 == SETTINGTREE_TOP_OFFSET);
+
 		static bool first_time = true;
 
 		patches_ptr = (_game_mode == GM_MENU) ? &_settings_newgame : &_settings_game;
@@ -799,15 +809,14 @@
 
 	virtual void OnPaint()
 	{
-		int x, y;
 		const PatchPage *page = &_patches_page[this->page];
 		uint i;
 
 		/* Set up selected category */
 		this->DrawWidgets();
 
-		x = 5;
-		y = 47;
+		int x = SETTINGTREE_LEFT_OFFSET;
+		int y = SETTINGTREE_TOP_OFFSET;
 		for (i = 0; i != page->num; i++) {
 			const SettingDesc *sd = page->entries[i].setting;
 			const SettingDescBase *sdb = &sd->desc;
@@ -865,10 +874,10 @@
 				int x, y;
 				byte btn;
 
-				y = pt.y - 46 - 1;  // Shift y coordinate
+				y = pt.y - SETTINGTREE_TOP_OFFSET;  // Shift y coordinate
 				if (y < 0) return;  // Clicked above first entry
 
-				x = pt.x - 5;  // Shift x coordinate
+				x = pt.x - SETTINGTREE_LEFT_OFFSET;  // Shift x coordinate
 				if (x < 0) return;  // Clicked left of the entry
 
 				btn = y / SETTING_HEIGHT;  // Compute which setting is selected
@@ -977,6 +986,8 @@
 };
 
 GameSettings *PatchesSelectionWindow::patches_ptr = NULL;
+const int PatchesSelectionWindow::SETTINGTREE_LEFT_OFFSET = 5;
+const int PatchesSelectionWindow::SETTINGTREE_TOP_OFFSET = 47;
 int PatchesSelectionWindow::patches_max = 0;
 
 static const Widget _patches_selection_widgets[] = {