Mercurial > hg > openttd
changeset 13287:3d2992db532c draft
(svn r17796) -Codechange: Move drawing of the industry info to its own function.
author | alberth <alberth@openttd.org> |
---|---|
date | Sun, 18 Oct 2009 13:40:11 +0000 |
parents | 58de76f90067 |
children | f2e78dbfc0d3 |
files | src/industry_gui.cpp |
diffstat | 1 files changed, 16 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/industry_gui.cpp +++ b/src/industry_gui.cpp @@ -495,7 +495,13 @@ this->FindWindowPlacementAndResize(desc); } - virtual void OnPaint() + /** Draw the text in the #IVW_INFO panel. + * @param left Left edge of the panel. + * @param right Right edge of the panel. + * @param top Top edge of the panel. + * @return Expected position of the bottom edge of the panel. + */ + int DrawInfo(uint left, uint right, uint top) { Industry *i = Industry::Get(this->window_number); const IndustrySpec *ind = GetIndustrySpec(i->type); @@ -503,9 +509,6 @@ bool first = true; bool has_accept = false; - SetDParam(0, this->window_number); - this->DrawWidgets(); - if (HasBit(ind->callback_mask, CBM_IND_PRODUCTION_CARGO_ARRIVAL) || HasBit(ind->callback_mask, CBM_IND_PRODUCTION_256_TICKS)) { for (byte j = 0; j < lengthof(i->accepts_cargo); j++) { if (i->accepts_cargo[j] == CT_INVALID) continue; @@ -581,6 +584,15 @@ } } } + return y; + } + + virtual void OnPaint() + { + SetDParam(0, this->window_number); + this->DrawWidgets(); + + int y = this->DrawInfo(this->widget[IVW_INFO].left, this->widget[IVW_INFO].right, this->widget[IVW_INFO].top); if (y > this->widget[IVW_INFO].bottom) { this->SetDirty();