Skip to content
Permalink
Browse files
Cleanup: Give SetDirtyBlocks a more descriptive name.
  • Loading branch information
techgeeknz authored and LordAro committed Jun 9, 2020
1 parent caab095 commit 8652a4db76c978598918bfdb600a3453d794930a
Showing with 24 additions and 15 deletions.
  1. +18 −9 src/gfx.cpp
  2. +1 −1 src/gfx_func.h
  3. +1 −1 src/news_gui.cpp
  4. +1 −1 src/viewport.cpp
  5. +1 −1 src/widget.cpp
  6. +2 −2 src/window.cpp
@@ -1416,6 +1416,16 @@ 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);
@@ -1438,7 +1448,9 @@ void RedrawScreenRect(int left, int top, int right, int bottom)
/**
* Repaints the rectangle blocks which are marked as 'dirty'.
*
* @see SetDirtyBlocks
* @see AddDirtyBlock
*
* @ingroup dirty
*/
void DrawDirtyBlocks()
{
@@ -1541,21 +1553,18 @@ void DrawDirtyBlocks()
}

/**
* 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.
* Extend the internal _invalid_rect rectangle to contain 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 SetDirtyBlocks(int left, int top, int right, int bottom)
void AddDirtyBlock(int left, int top, int right, int bottom)
{
byte *b;
int width;
@@ -1600,7 +1609,7 @@ void SetDirtyBlocks(int left, int top, int right, int bottom)
*/
void MarkWholeScreenDirty()
{
SetDirtyBlocks(0, 0, _screen.width, _screen.height);
AddDirtyBlock(0, 0, _screen.width, _screen.height);
}

/**
@@ -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 SetDirtyBlocks(int left, int top, int right, int bottom);
void AddDirtyBlock(int left, int top, int right, int bottom);
void MarkWholeScreenDirty();

void GfxInitPalettes();
@@ -571,7 +571,7 @@ struct NewsWindow : Window {
if (this->viewport != nullptr) this->viewport->top += newtop - this->top;
this->top = newtop;

SetDirtyBlocks(this->left, mintop, this->left + this->width, maxtop + this->height);
AddDirtyBlock(this->left, mintop, this->left + this->width, maxtop + this->height);
}

StringID GetCompanyMessageString() const
@@ -1886,7 +1886,7 @@ static void MarkViewportDirty(const ViewPort *vp, int left, int top, int right,

if (top >= vp->virtual_height) return;

SetDirtyBlocks(
AddDirtyBlock(
UnScaleByZoomLower(left, vp->zoom) + vp->left,
UnScaleByZoomLower(top, vp->zoom) + vp->top,
UnScaleByZoom(right, vp->zoom) + vp->left + 1,
@@ -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;
SetDirtyBlocks(abs_left, abs_top, abs_left + this->current_x, abs_top + this->current_y);
AddDirtyBlock(abs_left, abs_top, abs_left + this->current_x, abs_top + this->current_y);
}

/**
@@ -983,7 +983,7 @@ void DrawOverlappedWindowForAll(int left, int top, int right, int bottom)
*/
void Window::SetDirty() const
{
SetDirtyBlocks(this->left, this->top, this->left + this->width, this->top + this->height);
AddDirtyBlock(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;
SetDirtyBlocks(0, w->top, _screen.width, w->top + w->height); // invalidate the whole row
AddDirtyBlock(0, w->top, _screen.width, w->top + w->height); // invalidate the whole row
return w->left;
}

0 comments on commit 8652a4d

Please sign in to comment.