File diff r9183:200d86a0cdf3 → r9184:cdb864f70553
src/smallmap_gui.cpp
Show inline comments
 
@@ -884,8 +884,8 @@ static void SmallMapWindowProc(Window *w
 
					_left_button_clicked = false;
 

	
 
					pt = RemapCoords(WP(w, smallmap_d).scroll_x, WP(w,smallmap_d).scroll_y, 0);
 
					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);
 
					w2->viewport->dest_scrollpos_x = pt.x + ((_cursor.pos.x - w->left + 2) << 4) - (w2->viewport->virtual_width >> 1);
 
					w2->viewport->dest_scrollpos_y = pt.y + ((_cursor.pos.y - w->top - 16) << 4) - (w2->viewport->virtual_height >> 1);
 

	
 
					w->SetDirty();
 
				} break;
 
@@ -1138,21 +1138,21 @@ static void ExtraViewPortWndProc(Window 
 

	
 
		case 7: { // location button (move main view to same spot as this view) 'Paste Location'
 
			Window *w2 = FindWindowById(WC_MAIN_WINDOW, 0);
 
			int x = WP(w, vp_d).scrollpos_x; // Where is the main looking at
 
			int y = WP(w, vp_d).scrollpos_y;
 
			int x = w->viewport->scrollpos_x; // Where is the main looking at
 
			int y = w->viewport->scrollpos_y;
 

	
 
			/* set this view to same location. Based on the center, adjusting for zoom */
 
			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;
 
			w2->viewport->dest_scrollpos_x =  x - (w2->viewport->virtual_width -  w->viewport->virtual_width) / 2;
 
			w2->viewport->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'
 
			const Window *w2 = FindWindowById(WC_MAIN_WINDOW, 0);
 
			int x = WP(w2, const vp_d).scrollpos_x;
 
			int y = WP(w2, const vp_d).scrollpos_y;
 
			int x = w2->viewport->scrollpos_x;
 
			int y = w2->viewport->scrollpos_y;
 

	
 
			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;
 
			w->viewport->dest_scrollpos_x =  x + (w2->viewport->virtual_width -  w->viewport->virtual_width) / 2;
 
			w->viewport->dest_scrollpos_y =  y + (w2->viewport->virtual_height - w->viewport->virtual_height) / 2;
 
		} break;
 
		}
 
		break;
 
@@ -1172,10 +1172,10 @@ static void ExtraViewPortWndProc(Window 
 
				_scrolling_viewport = false;
 
			}
 

	
 
			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;
 
			w->viewport->scrollpos_x += ScaleByZoom(e->we.scroll.delta.x, vp->zoom);
 
			w->viewport->scrollpos_y += ScaleByZoom(e->we.scroll.delta.y, vp->zoom);
 
			w->viewport->dest_scrollpos_x = w->viewport->scrollpos_x;
 
			w->viewport->dest_scrollpos_y = w->viewport->scrollpos_y;
 
		} break;
 

	
 
		case WE_MOUSEWHEEL:
 
@@ -1213,15 +1213,15 @@ void ShowExtraViewPortWindow(TileIndex t
 
			const Window *v = FindWindowById(WC_MAIN_WINDOW, 0);
 

	
 
			/* center on same place as main window (zoom is maximum, no adjustment needed) */
 
			pt.x = WP(v, vp_d).scrollpos_x + v->viewport->virtual_height / 2;
 
			pt.y = WP(v, vp_d).scrollpos_y + v->viewport->virtual_height / 2;
 
			pt.x = v->viewport->scrollpos_x + v->viewport->virtual_height / 2;
 
			pt.y = v->viewport->scrollpos_y + v->viewport->virtual_height / 2;
 
		} else {
 
			pt = RemapCoords(TileX(tile) * TILE_SIZE + TILE_SIZE / 2, TileY(tile) * TILE_SIZE + TILE_SIZE / 2, TileHeight(tile));
 
		}
 

	
 
		WP(w, vp_d).scrollpos_x = pt.x - ((w->widget[4].right - w->widget[4].left) - 1) / 2;
 
		WP(w, vp_d).scrollpos_y = pt.y - ((w->widget[4].bottom - w->widget[4].top) - 1) / 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;
 
		w->viewport->scrollpos_x = pt.x - ((w->widget[4].right - w->widget[4].left) - 1) / 2;
 
		w->viewport->scrollpos_y = pt.y - ((w->widget[4].bottom - w->widget[4].top) - 1) / 2;
 
		w->viewport->dest_scrollpos_x = w->viewport->scrollpos_x;
 
		w->viewport->dest_scrollpos_y = w->viewport->scrollpos_y;
 
	}
 
}