diff options
author | rubidium <rubidium@openttd.org> | 2009-07-08 08:30:35 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2009-07-08 08:30:35 +0000 |
commit | 8275a98e1f2e5adc770dc68492927416ddbb6fe6 (patch) | |
tree | cc2a2bbfd9544a2488bd50e8c798b1234ebb5c80 /src/viewport.cpp | |
parent | 2d907d902ac830d3020fe21cea9299073577d7f3 (diff) | |
download | openttd-8275a98e1f2e5adc770dc68492927416ddbb6fe6.tar.xz |
(svn r16764) -Codechange: unify the way viewport signs are marked dirty
Diffstat (limited to 'src/viewport.cpp')
-rw-r--r-- | src/viewport.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/viewport.cpp b/src/viewport.cpp index fa1f746a6..662c36850 100644 --- a/src/viewport.cpp +++ b/src/viewport.cpp @@ -1301,6 +1301,22 @@ void ViewportSign::UpdatePosition(int center, int top, StringID str) _cur_fontsize = FS_NORMAL; } +/** + * Mark the sign dirty in all viewports. + * + * @ingroup dirty + */ +void ViewportSign::MarkDirty() const +{ + /* We use ZOOM_LVL_MAX here, as every viewport can have an other zoom, + * and there is no way for us to know which is the biggest. So make the + * biggest area dirty, and we are safe for sure. */ + MarkAllViewportsDirty( + this->left - 6, + this->top - 3, + this->left + ScaleByZoom(this->width_1 + 12, ZOOM_LVL_MAX), + this->top + ScaleByZoom(12, ZOOM_LVL_MAX)); +} static void ViewportDrawTileSprites(const TileSpriteToDrawVector *tstdv) { |