diff --git a/src/gfx.cpp b/src/gfx.cpp index 6039946fc6..a5e5772050 100644 --- a/src/gfx.cpp +++ b/src/gfx.cpp @@ -1416,16 +1416,6 @@ void DrawMouseCursor() _cursor.dirty = false; } -/** - * Repaints a specific rectangle of the screen. - * - * @param left,top,right,bottom The area of the screen that needs repainting - * @pre The rectangle should have been previously marked dirty with \c AddDirtyBlock. - * @see AddDirtyBlock - * @see DrawDirtyBlocks - * @ingroup dirty - * - */ void RedrawScreenRect(int left, int top, int right, int bottom) { assert(right <= _screen.width && bottom <= _screen.height); @@ -1448,9 +1438,7 @@ void RedrawScreenRect(int left, int top, int right, int bottom) /** * Repaints the rectangle blocks which are marked as 'dirty'. * - * @see AddDirtyBlock - * - * @ingroup dirty + * @see SetDirtyBlocks */ void DrawDirtyBlocks() { @@ -1553,18 +1541,21 @@ void DrawDirtyBlocks() } /** - * Extend the internal _invalid_rect rectangle to contain the rectangle - * defined by the given parameters. Note the point (0,0) is top left. + * This function extends the internal _invalid_rect rectangle as it + * now contains the rectangle defined by the given parameters. Note + * the point (0,0) is top left. * * @param left The left edge of the rectangle * @param top The top edge of the rectangle * @param right The right edge of the rectangle * @param bottom The bottom edge of the rectangle * @see DrawDirtyBlocks - * @ingroup dirty * + * @todo The name of the function should be called like @c AddDirtyBlock as + * it neither set a dirty rect nor add several dirty rects although + * the function name is in plural. (Progman) */ -void AddDirtyBlock(int left, int top, int right, int bottom) +void SetDirtyBlocks(int left, int top, int right, int bottom) { byte *b; int width; @@ -1609,7 +1600,7 @@ void AddDirtyBlock(int left, int top, int right, int bottom) */ void MarkWholeScreenDirty() { - AddDirtyBlock(0, 0, _screen.width, _screen.height); + SetDirtyBlocks(0, 0, _screen.width, _screen.height); } /** diff --git a/src/gfx_func.h b/src/gfx_func.h index 0edbf722a1..0ccdabac3d 100644 --- a/src/gfx_func.h +++ b/src/gfx_func.h @@ -131,7 +131,7 @@ Point GetCharPosInString(const char *str, const char *ch, FontSize start_fontsiz const char *GetCharAtPosition(const char *str, int x, FontSize start_fontsize = FS_NORMAL); void DrawDirtyBlocks(); -void AddDirtyBlock(int left, int top, int right, int bottom); +void SetDirtyBlocks(int left, int top, int right, int bottom); void MarkWholeScreenDirty(); void GfxInitPalettes(); diff --git a/src/news_gui.cpp b/src/news_gui.cpp index 9993645c43..01b69677e3 100644 --- a/src/news_gui.cpp +++ b/src/news_gui.cpp @@ -571,7 +571,7 @@ private: if (this->viewport != nullptr) this->viewport->top += newtop - this->top; this->top = newtop; - AddDirtyBlock(this->left, mintop, this->left + this->width, maxtop + this->height); + SetDirtyBlocks(this->left, mintop, this->left + this->width, maxtop + this->height); } StringID GetCompanyMessageString() const diff --git a/src/viewport.cpp b/src/viewport.cpp index 28345db607..1c9dca1ef6 100644 --- a/src/viewport.cpp +++ b/src/viewport.cpp @@ -1886,7 +1886,7 @@ static void MarkViewportDirty(const ViewPort *vp, int left, int top, int right, if (top >= vp->virtual_height) return; - AddDirtyBlock( + SetDirtyBlocks( UnScaleByZoomLower(left, vp->zoom) + vp->left, UnScaleByZoomLower(top, vp->zoom) + vp->top, UnScaleByZoom(right, vp->zoom) + vp->left + 1, diff --git a/src/widget.cpp b/src/widget.cpp index 579b7efb64..eb683c4128 100644 --- a/src/widget.cpp +++ b/src/widget.cpp @@ -774,7 +774,7 @@ void NWidgetBase::SetDirty(const Window *w) const { int abs_left = w->left + this->pos_x; int abs_top = w->top + this->pos_y; - AddDirtyBlock(abs_left, abs_top, abs_left + this->current_x, abs_top + this->current_y); + SetDirtyBlocks(abs_left, abs_top, abs_left + this->current_x, abs_top + this->current_y); } /** diff --git a/src/window.cpp b/src/window.cpp index 9fea6d1026..f9f05d75a3 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -983,7 +983,7 @@ void DrawOverlappedWindowForAll(int left, int top, int right, int bottom) */ void Window::SetDirty() const { - AddDirtyBlock(this->left, this->top, this->left + this->width, this->top + this->height); + SetDirtyBlocks(this->left, this->top, this->left + this->width, this->top + this->height); } /** @@ -3493,7 +3493,7 @@ static int PositionWindow(Window *w, WindowClass clss, int setting) default: w->left = 0; break; } if (w->viewport != nullptr) w->viewport->left += w->left - old_left; - AddDirtyBlock(0, w->top, _screen.width, w->top + w->height); // invalidate the whole row + SetDirtyBlocks(0, w->top, _screen.width, w->top + w->height); // invalidate the whole row return w->left; }