summaryrefslogtreecommitdiff
path: root/src/smallmap_gui.cpp
diff options
context:
space:
mode:
authorpeter1138 <peter1138@openttd.org>2007-05-28 16:46:16 +0000
committerpeter1138 <peter1138@openttd.org>2007-05-28 16:46:16 +0000
commit344e9007feac6dd1e90154b45e80907c5e49821a (patch)
tree17d1923b83a591294a9f935eda1159e520609c81 /src/smallmap_gui.cpp
parent1a8a44165b7ccab605673c750596b80eb3d88799 (diff)
downloadopenttd-344e9007feac6dd1e90154b45e80907c5e49821a.tar.xz
(svn r9962) -Feature: Add smooth viewport scrolling. This must be enabled with patch setting 'smooth_scroll'
Diffstat (limited to 'src/smallmap_gui.cpp')
-rw-r--r--src/smallmap_gui.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/smallmap_gui.cpp b/src/smallmap_gui.cpp
index 2035a8a96..e0a13991f 100644
--- a/src/smallmap_gui.cpp
+++ b/src/smallmap_gui.cpp
@@ -806,8 +806,8 @@ static void SmallMapWindowProc(Window *w, WindowEvent *e)
_left_button_clicked = false;
pt = RemapCoords(WP(w,smallmap_d).scroll_x, WP(w,smallmap_d).scroll_y, 0);
- WP(w2, vp_d).scrollpos_x = pt.x + ((_cursor.pos.x - w->left + 2) << 4) - (w2->viewport->virtual_width >> 1);
- WP(w2, vp_d).scrollpos_y = pt.y + ((_cursor.pos.y - w->top - 16) << 4) - (w2->viewport->virtual_height >> 1);
+ WP(w2, vp_d).dest_scrollpos_x = pt.x + ((_cursor.pos.x - w->left + 2) << 4) - (w2->viewport->virtual_width >> 1);
+ WP(w2, vp_d).dest_scrollpos_y = pt.y + ((_cursor.pos.y - w->top - 16) << 4) - (w2->viewport->virtual_height >> 1);
SetWindowDirty(w);
} break;
@@ -986,8 +986,8 @@ static void ExtraViewPortWndProc(Window *w, WindowEvent *e)
int y = WP(w, vp_d).scrollpos_y;
/* set this view to same location. Based on the center, adjusting for zoom */
- WP(w2, vp_d).scrollpos_x = x - (w2->viewport->virtual_width - w->viewport->virtual_width) / 2;
- WP(w2, vp_d).scrollpos_y = y - (w2->viewport->virtual_height - w->viewport->virtual_height) / 2;
+ WP(w2, vp_d).dest_scrollpos_x = x - (w2->viewport->virtual_width - w->viewport->virtual_width) / 2;
+ WP(w2, vp_d).dest_scrollpos_y = y - (w2->viewport->virtual_height - w->viewport->virtual_height) / 2;
} break;
case 8: { /* inverse location button (move this view to same spot as main view) 'Copy Location' */
@@ -995,8 +995,8 @@ static void ExtraViewPortWndProc(Window *w, WindowEvent *e)
int x = WP(w2, const vp_d).scrollpos_x;
int y = WP(w2, const vp_d).scrollpos_y;
- WP(w, vp_d).scrollpos_x = x + (w2->viewport->virtual_width - w->viewport->virtual_width) / 2;
- WP(w, vp_d).scrollpos_y = y + (w2->viewport->virtual_height - w->viewport->virtual_height) / 2;
+ WP(w, vp_d).dest_scrollpos_x = x + (w2->viewport->virtual_width - w->viewport->virtual_width) / 2;
+ WP(w, vp_d).dest_scrollpos_y = y + (w2->viewport->virtual_height - w->viewport->virtual_height) / 2;
} break;
}
break;
@@ -1018,6 +1018,8 @@ static void ExtraViewPortWndProc(Window *w, WindowEvent *e)
WP(w, vp_d).scrollpos_x += ScaleByZoom(e->we.scroll.delta.x, vp->zoom);
WP(w, vp_d).scrollpos_y += ScaleByZoom(e->we.scroll.delta.y, vp->zoom);
+ WP(w, vp_d).dest_scrollpos_x = WP(w, vp_d).scrollpos_x;
+ WP(w, vp_d).dest_scrollpos_y = WP(w, vp_d).scrollpos_y;
} break;
case WE_MOUSEWHEEL:
@@ -1062,5 +1064,7 @@ void ShowExtraViewPortWindow()
y = WP(v, vp_d).scrollpos_y;
WP(w, vp_d).scrollpos_x = x + (v->viewport->virtual_width - (294)) / 2;
WP(w, vp_d).scrollpos_y = y + (v->viewport->virtual_height - (214)) / 2;
+ WP(w, vp_d).dest_scrollpos_x = WP(w, vp_d).scrollpos_x;
+ WP(w, vp_d).dest_scrollpos_y = WP(w, vp_d).scrollpos_y;
}
}