diff options
-rw-r--r-- | src/smallmap_gui.cpp | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/src/smallmap_gui.cpp b/src/smallmap_gui.cpp index b87f32947..771eb1efb 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]; |