1106 }; |
1106 }; |
1107 |
1107 |
1108 static void ExtraViewPortWndProc(Window *w, WindowEvent *e) |
1108 static void ExtraViewPortWndProc(Window *w, WindowEvent *e) |
1109 { |
1109 { |
1110 switch (e->event) { |
1110 switch (e->event) { |
1111 case WE_CREATE: /* Disable zoom in button */ |
1111 case WE_CREATE: // Disable zoom in button |
1112 /* New viewport start at (zero,zero) */ |
1112 /* New viewport start at (zero,zero) */ |
1113 AssignWindowViewport(w, 3, 17, w->widget[4].right - w->widget[4].left - 1, w->widget[4].bottom - w->widget[4].top - 1, 0, ZOOM_LVL_VIEWPORT); |
1113 AssignWindowViewport(w, 3, 17, w->widget[4].right - w->widget[4].left - 1, w->widget[4].bottom - w->widget[4].top - 1, 0, ZOOM_LVL_VIEWPORT); |
1114 |
1114 |
1115 w->DisableWidget(5); |
1115 w->DisableWidget(5); |
1116 break; |
1116 break; |
1117 |
1117 |
1118 case WE_PAINT: |
1118 case WE_PAINT: |
1119 // set the number in the title bar |
1119 /* set the number in the title bar */ |
1120 SetDParam(0, w->window_number + 1); |
1120 SetDParam(0, w->window_number + 1); |
1121 |
1121 |
1122 DrawWindowWidgets(w); |
1122 DrawWindowWidgets(w); |
1123 DrawWindowViewport(w); |
1123 DrawWindowViewport(w); |
1124 break; |
1124 break; |
1126 case WE_CLICK: |
1126 case WE_CLICK: |
1127 switch (e->we.click.widget) { |
1127 switch (e->we.click.widget) { |
1128 case 5: DoZoomInOutWindow(ZOOM_IN, w); break; |
1128 case 5: DoZoomInOutWindow(ZOOM_IN, w); break; |
1129 case 6: DoZoomInOutWindow(ZOOM_OUT, w); break; |
1129 case 6: DoZoomInOutWindow(ZOOM_OUT, w); break; |
1130 |
1130 |
1131 case 7: { /* location button (move main view to same spot as this view) 'Paste Location' */ |
1131 case 7: { // location button (move main view to same spot as this view) 'Paste Location' |
1132 Window *w2 = FindWindowById(WC_MAIN_WINDOW, 0); |
1132 Window *w2 = FindWindowById(WC_MAIN_WINDOW, 0); |
1133 int x = WP(w, vp_d).scrollpos_x; // Where is the main looking at |
1133 int x = WP(w, vp_d).scrollpos_x; // Where is the main looking at |
1134 int y = WP(w, vp_d).scrollpos_y; |
1134 int y = WP(w, vp_d).scrollpos_y; |
1135 |
1135 |
1136 /* set this view to same location. Based on the center, adjusting for zoom */ |
1136 /* set this view to same location. Based on the center, adjusting for zoom */ |
1137 WP(w2, vp_d).dest_scrollpos_x = x - (w2->viewport->virtual_width - w->viewport->virtual_width) / 2; |
1137 WP(w2, vp_d).dest_scrollpos_x = x - (w2->viewport->virtual_width - w->viewport->virtual_width) / 2; |
1138 WP(w2, vp_d).dest_scrollpos_y = y - (w2->viewport->virtual_height - w->viewport->virtual_height) / 2; |
1138 WP(w2, vp_d).dest_scrollpos_y = y - (w2->viewport->virtual_height - w->viewport->virtual_height) / 2; |
1139 } break; |
1139 } break; |
1140 |
1140 |
1141 case 8: { /* inverse location button (move this view to same spot as main view) 'Copy Location' */ |
1141 case 8: { // inverse location button (move this view to same spot as main view) 'Copy Location' |
1142 const Window *w2 = FindWindowById(WC_MAIN_WINDOW, 0); |
1142 const Window *w2 = FindWindowById(WC_MAIN_WINDOW, 0); |
1143 int x = WP(w2, const vp_d).scrollpos_x; |
1143 int x = WP(w2, const vp_d).scrollpos_x; |
1144 int y = WP(w2, const vp_d).scrollpos_y; |
1144 int y = WP(w2, const vp_d).scrollpos_y; |
1145 |
1145 |
1146 WP(w, vp_d).dest_scrollpos_x = x + (w2->viewport->virtual_width - w->viewport->virtual_width) / 2; |
1146 WP(w, vp_d).dest_scrollpos_x = x + (w2->viewport->virtual_width - w->viewport->virtual_width) / 2; |