summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gfx.c20
-rw-r--r--gfx.h2
-rw-r--r--main_gui.c2
-rw-r--r--rail_gui.c4
-rw-r--r--smallmap_gui.c2
-rw-r--r--train_gui.c2
6 files changed, 16 insertions, 16 deletions
diff --git a/gfx.c b/gfx.c
index a6b1b4ec5..0dc3fbf4f 100644
--- a/gfx.c
+++ b/gfx.c
@@ -1880,43 +1880,43 @@ void MarkWholeScreenDirty(void)
SetDirtyBlocks(0, 0, _screen.width, _screen.height);
}
-bool FillDrawPixelInfo(DrawPixelInfo *n, const DrawPixelInfo *o, int left, int top, int width, int height)
+bool FillDrawPixelInfo(DrawPixelInfo *n, int left, int top, int width, int height)
{
- int t;
-
- if (o == NULL) o = _cur_dpi;
+ const DrawPixelInfo *o = _cur_dpi;
n->zoom = 0;
assert(width > 0);
assert(height > 0);
- n->left = 0;
if ((left -= o->left) < 0) {
width += left;
if (width < 0) return false;
n->left = -left;
left = 0;
+ } else {
+ n->left = 0;
}
- if ((t=width + left - o->width) > 0) {
- width -= t;
+ if (width > o->width - left) {
+ width = o->width - left;
if (width < 0) return false;
}
n->width = width;
- n->top = 0;
if ((top -= o->top) < 0) {
height += top;
if (height < 0) return false;
n->top = -top;
top = 0;
+ } else {
+ n->top = 0;
}
n->dst_ptr = o->dst_ptr + left + top * (n->pitch = o->pitch);
- if ((t=height + top - o->height) > 0) {
- height -= t;
+ if (height > o->height - top) {
+ height = o->height - top;
if (height < 0) return false;
}
n->height = height;
diff --git a/gfx.h b/gfx.h
index f1d6c2618..6a286ccdd 100644
--- a/gfx.h
+++ b/gfx.h
@@ -85,7 +85,7 @@ void MarkWholeScreenDirty(void);
void GfxInitPalettes(void);
-bool FillDrawPixelInfo(DrawPixelInfo* n, const DrawPixelInfo* o, int left, int top, int width, int height);
+bool FillDrawPixelInfo(DrawPixelInfo* n, int left, int top, int width, int height);
/* window.c */
void DrawOverlappedWindowForAll(int left, int top, int right, int bottom);
diff --git a/main_gui.c b/main_gui.c
index 3f4c5f216..544a7a925 100644
--- a/main_gui.c
+++ b/main_gui.c
@@ -2110,7 +2110,7 @@ static bool DrawScrollingStatusText(const NewsItem *ni, int pos)
}
}
- if (!FillDrawPixelInfo(&tmp_dpi, NULL, 141, 1, 358, 11)) return true;
+ if (!FillDrawPixelInfo(&tmp_dpi, 141, 1, 358, 11)) return true;
old_dpi = _cur_dpi;
_cur_dpi = &tmp_dpi;
diff --git a/rail_gui.c b/rail_gui.c
index 49e9c8844..70db6a7d8 100644
--- a/rail_gui.c
+++ b/rail_gui.c
@@ -674,7 +674,7 @@ static void StationBuildWndProc(Window *w, WindowEvent *e)
y_offset = newstations ? 90 : 0;
/* Set up a clipping area for the '/' station preview */
- if (FillDrawPixelInfo(&tmp_dpi, NULL, 7, 26 + y_offset, 66, 48)) {
+ if (FillDrawPixelInfo(&tmp_dpi, 7, 26 + y_offset, 66, 48)) {
old_dpi = _cur_dpi;
_cur_dpi = &tmp_dpi;
if (!DrawStationTile(32, 16, _cur_railtype, AXIS_X, _railstation.station_class, _railstation.station_type)) {
@@ -684,7 +684,7 @@ static void StationBuildWndProc(Window *w, WindowEvent *e)
}
/* Set up a clipping area for the '\' station preview */
- if (FillDrawPixelInfo(&tmp_dpi, NULL, 75, 26 + y_offset, 66, 48)) {
+ if (FillDrawPixelInfo(&tmp_dpi, 75, 26 + y_offset, 66, 48)) {
old_dpi = _cur_dpi;
_cur_dpi = &tmp_dpi;
if (!DrawStationTile(32, 16, _cur_railtype, AXIS_Y, _railstation.station_class, _railstation.station_type)) {
diff --git a/smallmap_gui.c b/smallmap_gui.c
index 452183c97..d08e6f07b 100644
--- a/smallmap_gui.c
+++ b/smallmap_gui.c
@@ -836,7 +836,7 @@ static void SmallMapWindowProc(Window *w, WindowEvent *e)
}
}
- if (!FillDrawPixelInfo(&new_dpi, NULL, 3, 17, w->width - 28 + 22, w->height - 64 - 11))
+ if (!FillDrawPixelInfo(&new_dpi, 3, 17, w->width - 28 + 22, w->height - 64 - 11))
return;
DrawSmallMap(&new_dpi, w, _smallmap_type, _smallmap_show_towns);
diff --git a/train_gui.c b/train_gui.c
index 90177ea62..55af10049 100644
--- a/train_gui.c
+++ b/train_gui.c
@@ -361,7 +361,7 @@ static void DrawTrainImage(const Vehicle *v, int x, int y, int count, int skip,
int highlight_l = 0;
int highlight_r = 0;
- if (!FillDrawPixelInfo(&tmp_dpi, NULL, x - 2, y - 1, count + 1, 14)) return;
+ if (!FillDrawPixelInfo(&tmp_dpi, x - 2, y - 1, count + 1, 14)) return;
count = (count * 8) / _traininfo_vehicle_width;