diff --git a/src/main_gui.cpp b/src/main_gui.cpp index 47156f690d..6a5781897e 100644 --- a/src/main_gui.cpp +++ b/src/main_gui.cpp @@ -128,7 +128,7 @@ void ShowNetworkGiveMoneyWindow(CompanyID company) /* Zooms a viewport in a window in or out * No button handling or what so ever */ -bool DoZoomInOutWindow(int how, Window *w) +bool DoZoomInOutWindow(ZoomStateChange how, Window *w) { ViewPort *vp; @@ -136,6 +136,7 @@ bool DoZoomInOutWindow(int how, Window *w) vp = w->viewport; switch (how) { + case ZOOM_NONE: NOT_REACHED(); case ZOOM_IN: if (vp->zoom == ZOOM_LVL_MIN) return false; vp->zoom = (ZoomLevel)((int)vp->zoom - 1); diff --git a/src/viewport_func.h b/src/viewport_func.h index dbe965d4f2..a2dd0df18a 100644 --- a/src/viewport_func.h +++ b/src/viewport_func.h @@ -35,12 +35,12 @@ void UpdateViewportPosition(Window *w); */ void MarkAllViewportsDirty(int left, int top, int right, int bottom); -bool DoZoomInOutWindow(int how, Window *w); +bool DoZoomInOutWindow(ZoomStateChange how, Window *w); void ZoomInOrOutToCursorWindow(bool in, Window * w); Point GetTileZoomCenterWindow(bool in, Window * w); void HandleZoomMessage(Window *w, const ViewPort *vp, byte widget_zoom_in, byte widget_zoom_out); -static inline void MaxZoomInOut(int how, Window *w) +static inline void MaxZoomInOut(ZoomStateChange how, Window *w) { while (DoZoomInOutWindow(how, w)) {}; } diff --git a/src/viewport_type.h b/src/viewport_type.h index 165d20c20b..8f65f85060 100644 --- a/src/viewport_type.h +++ b/src/viewport_type.h @@ -51,7 +51,7 @@ struct ViewportSign { void MarkDirty() const; }; -enum { +enum ZoomStateChange { ZOOM_IN = 0, ZOOM_OUT = 1, ZOOM_NONE = 2, // hack, used to update the button status