changeset 7888:194fee5b8120 draft

(svn r11439) -Codechange: replace some magic numbers by a ViewportPlaceMethod enumified constant. Patch by SmatZ.
author rubidium <rubidium@openttd.org>
date Thu, 15 Nov 2007 18:21:59 +0000
parents 4342fafbe9ee
children 1ed44baec4d2
files src/viewport.cpp src/viewport.h src/window.h
diffstat 3 files changed, 18 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/src/viewport.cpp
+++ b/src/viewport.cpp
@@ -2294,7 +2294,7 @@
 }
 
 /** highlighting tiles while only going over them with the mouse */
-void VpStartPlaceSizing(TileIndex tile, byte method, byte process)
+void VpStartPlaceSizing(TileIndex tile, ViewportPlaceMethod method, byte process)
 {
 	_thd.select_method = method;
 	_thd.select_proc   = process;
@@ -2631,7 +2631,7 @@
  * @param y Y coordinate of end of selection
  * @param method modifies the way tiles are selected. Possible
  * methods are VPM_* in viewport.h */
-void VpSelectTilesWithMethod(int x, int y, int method)
+void VpSelectTilesWithMethod(int x, int y, ViewportPlaceMethod method)
 {
 	int sx, sy;
 	HighLightStyle style;
--- a/src/viewport.h
+++ b/src/viewport.h
@@ -73,20 +73,17 @@
 void SetTileSelectSize(int w, int h);
 void SetTileSelectBigSize(int ox, int oy, int sx, int sy);
 
-void VpStartPlaceSizing(TileIndex tile, byte method, byte process);
-void VpSetPresizeRange(uint from, uint to);
-void VpSetPlaceSizingLimit(int limit);
-
 Vehicle *CheckMouseOverVehicle();
 
-enum {
-	VPM_X_OR_Y          = 0,
-	VPM_FIX_X           = 1,
-	VPM_FIX_Y           = 2,
-	VPM_RAILDIRS        = 3,
-	VPM_X_AND_Y         = 4,
-	VPM_X_AND_Y_LIMITED = 5,
-	VPM_SIGNALDIRS      = 6
+/** Viewport place method (type of highlighted area and placed objects) */
+enum ViewportPlaceMethod {
+	VPM_X_OR_Y          = 0, ///< drag in X or Y direction
+	VPM_FIX_X           = 1, ///< drag only in X axis
+	VPM_FIX_Y           = 2, ///< drag only in Y axis
+	VPM_RAILDIRS        = 3, ///< all rail directions
+	VPM_X_AND_Y         = 4, ///< area of land in X and Y directions
+	VPM_X_AND_Y_LIMITED = 5, ///< area of land of limited size
+	VPM_SIGNALDIRS      = 6, ///< similiar to VMP_RAILDIRS, but with different cursor
 };
 
 /* viewport highlight mode (for highlighting tiles below cursor) */
@@ -99,7 +96,10 @@
 	VHM_RAIL    = 5, ///< rail pieces
 };
 
-void VpSelectTilesWithMethod(int x, int y, int method);
+void VpSelectTilesWithMethod(int x, int y, ViewportPlaceMethod method);
+void VpStartPlaceSizing(TileIndex tile, ViewportPlaceMethod method, byte process);
+void VpSetPresizeRange(uint from, uint to);
+void VpSetPlaceSizingLimit(int limit);
 
 /* highlighting draw styles */
 typedef byte HighLightStyle;
@@ -148,7 +148,7 @@
 	WindowClass window_class;
 	WindowNumber window_number;
 
-	byte select_method;
+	ViewportPlaceMethod select_method;
 	byte select_proc;
 
 	TileIndex redsq;
--- a/src/window.h
+++ b/src/window.h
@@ -12,6 +12,7 @@
 #include "road.h"
 #include "airport.h"
 #include "vehicle.h"
+#include "viewport.h"
 
 struct WindowEvent;
 
@@ -140,7 +141,7 @@
 			Point pt;
 			TileIndex tile;
 			TileIndex starttile;
-			byte select_method;
+			ViewportPlaceMethod select_method;
 			byte select_proc;
 		} place;