From e1451e1124830f3fbbf883cc4de1338cfc866cb1 Mon Sep 17 00:00:00 2001 From: peter1138 Date: Sun, 3 Aug 2008 18:18:36 +0000 Subject: [PATCH] (svn r13980) -Codechange: Turn small map legend while loop into a for-loop. --- src/smallmap_gui.cpp | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/src/smallmap_gui.cpp b/src/smallmap_gui.cpp index b87f329478..771eb1efb0 100644 --- a/src/smallmap_gui.cpp +++ b/src/smallmap_gui.cpp @@ -840,7 +840,6 @@ public: virtual void OnPaint() { - const LegendAndColour *tbl; int x, y, y_org; uint diff; DrawPixelInfo new_dpi; @@ -853,8 +852,6 @@ public: SetDParam(0, STR_00E5_CONTOURS + this->map_type); this->DrawWidgets(); - tbl = _legend_table[this->map_type]; - /* difference in window size */ diff = (_industries_per_column > BASE_NB_PER_COLUMN) ? ((_industries_per_column - BASE_NB_PER_COLUMN) * BASE_NB_PER_COLUMN) + 1 : 0; @@ -862,7 +859,14 @@ public: y_org = this->height - 44 - 11 - diff; y = y_org; - for (;;) { + for (const LegendAndColour *tbl = _legend_table[this->map_type]; !tbl->end; ++tbl) { + if (tbl->col_break) { + /* Column break needed, continue at top, 123 pixels (one "row") + * to the right. */ + x += 123; + y = y_org; + } + if (this->map_type == SMT_INDUSTRY) { /* Industry name must be formated, since it's not in tiny font in the specs. * So, draw with a parameter and use the STR_SMALLMAP_INDUSTRY string, which is tiny font.*/ @@ -884,16 +888,7 @@ public: } GfxFillRect(x + 1, y + 2, x + 7, y + 4, tbl->colour); // legend color - tbl += 1; y += 6; - - if (tbl->end) { // end of the list - break; - } else if (tbl->col_break) { - /* break asked, continue at top, 123 pixels (one "row") to the right */ - x += 123; - y = y_org; - } } const Widget *wi = &this->widget[SM_WIDGET_MAP];