src/transparency_gui.cpp
branchgamebalance
changeset 9910 0b2aebc8283e
parent 9908 0fa543611bbe
child 7094 623d0668e267
child 9620 31e38d28a0af
--- a/src/transparency_gui.cpp	Wed Jun 13 11:00:24 2007 +0000
+++ b/src/transparency_gui.cpp	Wed Jun 13 11:17:30 2007 +0000
@@ -12,6 +12,23 @@
 #include "sound.h"
 #include "variables.h"
 
+enum TransparencyToolbarWidgets{
+	/* Widgets not toggled when pressing the X key */
+	TTW_WIDGET_SIGNS = 3,    ///< Make signs background transparent
+
+	/* Widgets toggled when pressing the X key */
+	TTW_WIDGET_TREES,        ///< Make trees transparent
+	TTW_WIDGET_HOUSES,       ///< Make houses transparent
+	TTW_WIDGET_INDUSTRIES,   ///< Make Industries transparent
+	TTW_WIDGET_BUILDINGS,    ///< Make player buildings and structures transparent
+	TTW_WIDGET_BRIDGES,      ///< Make bridges transparent
+	TTW_WIDGET_STRUCTURES,   ///< Make unmovable structures transparent
+};
+
+/** Toggle the bits of the transparencies variable
+ * when clicking on a widget, and play a sound
+ * @param widget been clicked.
+ */
 static void Transparent_Click(byte widget)
 {
 	TOGGLEBIT(_transparent_opt, widget);
@@ -22,15 +39,17 @@
 {
 	switch (e->event) {
 		case WE_PAINT:
-			for (uint i = 0; i < 7; i++) {
-				SetWindowWidgetLoweredState(w, i + 3, HASBIT(_transparent_opt, i));
+			/* must be sure that the widgets show the transparency variable changes
+			 * also when we use shortcuts */
+			for (uint i = TTW_WIDGET_SIGNS; i < TTW_WIDGET_STRUCTURES; i++) {
+				SetWindowWidgetLoweredState(w, i, HASBIT(_transparent_opt, i - TTW_WIDGET_SIGNS));
 			}
 			DrawWindowWidgets(w);
 			break;
 
 		case WE_CLICK:
-			if (e->we.click.widget >= 3) {
-				Transparent_Click(e->we.click.widget - 3);
+			if (e->we.click.widget >= TTW_WIDGET_SIGNS) {
+				Transparent_Click(e->we.click.widget - TTW_WIDGET_SIGNS);
 				MarkWholeScreenDirty();
 			}
 			break;
@@ -42,7 +61,8 @@
 {  WWT_CAPTION,   RESIZE_NONE,  7,  11, 162,   0,  13, STR_TRANSPARENCY_TOOLB,   STR_018C_WINDOW_TITLE_DRAG_THIS},
 {WWT_STICKYBOX,   RESIZE_NONE,  7, 163, 174,   0,  13, STR_NULL,                 STR_STICKY_BUTTON},
 
-/* transparency widgets: transparent signs, trees, houses, industries, player's buildings */
+/* transparency widgets:
+ * transparent signs, trees, houses, industries, player's buildings, bridges and unmovable structures */
 {   WWT_IMGBTN,   RESIZE_NONE,  7,   0,  21,  14,  35, SPR_IMG_PLACE_SIGN,   STR_TRANSPARENT_SIGNS_DESC},
 {   WWT_IMGBTN,   RESIZE_NONE,  7,  22,  43,  14,  35, SPR_IMG_PLANTTREES,   STR_TRANSPARENT_TREES_DESC},
 {   WWT_IMGBTN,   RESIZE_NONE,  7,  44,  65,  14,  35, SPR_IMG_TOWN,         STR_TRANSPARENT_HOUSES_DESC},