smallmap_gui.c
changeset 682 74c70f645d95
parent 679 04ca2cd69420
child 758 423ae0bcba07
equal deleted inserted replaced
681:6aefab406b0d 682:74c70f645d95
  1001 }
  1001 }
  1002 
  1002 
  1003 /* Extra ViewPort Window Stuff */
  1003 /* Extra ViewPort Window Stuff */
  1004 static Widget _extra_view_port_widgets[] = {
  1004 static Widget _extra_view_port_widgets[] = {
  1005 {   WWT_CLOSEBOX,    14,     0,    10,     0,    13, STR_00C5,	STR_018B_CLOSE_WINDOW},
  1005 {   WWT_CLOSEBOX,    14,     0,    10,     0,    13, STR_00C5,	STR_018B_CLOSE_WINDOW},
  1006 {    WWT_CAPTION,    14,    11,   299,     0,    13, STR_EXTRA_VIEW_PORT_TITLE,				STR_018C_WINDOW_TITLE_DRAG_THIS},
  1006 {    WWT_CAPTION,    14,    11,   287,     0,    13, STR_EXTRA_VIEW_PORT_TITLE,				STR_018C_WINDOW_TITLE_DRAG_THIS},
       
  1007 {  WWT_STICKYBOX,    14,   288,   299,     0,    13, 0x0,       STR_STICKY_BUTTON},
  1007 {      WWT_PANEL,    14,     0,   299,    14,   233, 0x0,				STR_NULL},
  1008 {      WWT_PANEL,    14,     0,   299,    14,   233, 0x0,				STR_NULL},
  1008 {          WWT_6,    14,     2,   297,    16,   231, 0x0,				STR_NULL},
  1009 {          WWT_6,    14,     2,   297,    16,   231, 0x0,				STR_NULL},
  1009 {      WWT_PANEL,    14,     0,    21,   234,   255, 0x2DF,			STR_017F_ZOOM_THE_VIEW_IN},
  1010 {      WWT_PANEL,    14,     0,    21,   234,   255, 0x2DF,			STR_017F_ZOOM_THE_VIEW_IN},
  1010 {      WWT_PANEL,    14,    22,    43,   234,   255, 0x2E0,			STR_0180_ZOOM_THE_VIEW_OUT},
  1011 {      WWT_PANEL,    14,    22,    43,   234,   255, 0x2E0,			STR_0180_ZOOM_THE_VIEW_OUT},
  1011 { WWT_PUSHTXTBTN,    14,    44,   171,   234,   255, STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW,STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT},
  1012 { WWT_PUSHTXTBTN,    14,    44,   171,   234,   255, STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW,STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT},
  1025 		DrawWindowWidgets(w);
  1026 		DrawWindowWidgets(w);
  1026 		DrawWindowViewport(w);
  1027 		DrawWindowViewport(w);
  1027 	}	break;
  1028 	}	break;
  1028 	case WE_CLICK: {
  1029 	case WE_CLICK: {
  1029 		switch(e->click.widget) {
  1030 		switch(e->click.widget) {
  1030 		case 4: { /* zoom in */
  1031 		case 5: { /* zoom in */
  1031 			DoZoomInOutWindow(ZOOM_IN,w);
  1032 			DoZoomInOutWindow(ZOOM_IN,w);
  1032 		} break;
  1033 		} break;
  1033 
  1034 
  1034 		case 5: { /* zoom out */
  1035 		case 6: { /* zoom out */
  1035 			DoZoomInOutWindow(ZOOM_OUT,w);
  1036 			DoZoomInOutWindow(ZOOM_OUT,w);
  1036 		} break;
  1037 		} break;
  1037 
  1038 
  1038 		case 6: { /* location button (move main view to same spot as this view) */
  1039 		case 7: { /* location button (move main view to same spot as this view) */
  1039 			Window * w2 = FindWindowById(WC_MAIN_WINDOW, 0);
  1040 			Window * w2 = FindWindowById(WC_MAIN_WINDOW, 0);
  1040 			int x = WP(w,vp_d).scrollpos_x; // Where is the main looking at
  1041 			int x = WP(w,vp_d).scrollpos_x; // Where is the main looking at
  1041 			int y = WP(w,vp_d).scrollpos_y;
  1042 			int y = WP(w,vp_d).scrollpos_y;
  1042 
  1043 
  1043 			// set this view to same location. Based on the center, adjusting for zoom
  1044 			// set this view to same location. Based on the center, adjusting for zoom
  1044 			WP(w2,vp_d).scrollpos_x =  x - (w2->viewport->virtual_width - (294 <<vp->zoom) )/2;
  1045 			WP(w2,vp_d).scrollpos_x =  x - (w2->viewport->virtual_width - (294 <<vp->zoom) )/2;
  1045 			WP(w2,vp_d).scrollpos_y =  y - (w2->viewport->virtual_height - (214 << vp->zoom) )/2;
  1046 			WP(w2,vp_d).scrollpos_y =  y - (w2->viewport->virtual_height - (214 << vp->zoom) )/2;
  1046 		} break;
  1047 		} break;
  1047 		case 7: { /* inverse location button (move this view to same spot as main view) */
  1048 		case 8: { /* inverse location button (move this view to same spot as main view) */
  1048 			Window * w2 = FindWindowById(WC_MAIN_WINDOW, 0);
  1049 			Window * w2 = FindWindowById(WC_MAIN_WINDOW, 0);
  1049 			int x = WP(w2,vp_d).scrollpos_x;
  1050 			int x = WP(w2,vp_d).scrollpos_x;
  1050 			int y = WP(w2,vp_d).scrollpos_y;
  1051 			int y = WP(w2,vp_d).scrollpos_y;
  1051 
  1052 
  1052 			WP(w,vp_d).scrollpos_x =  x + (w2->viewport->virtual_width - (294 <<vp->zoom) )/2;
  1053 			WP(w,vp_d).scrollpos_x =  x + (w2->viewport->virtual_width - (294 <<vp->zoom) )/2;
  1058 }
  1059 }
  1059 
  1060 
  1060 static const WindowDesc _extra_view_port_desc = {
  1061 static const WindowDesc _extra_view_port_desc = {
  1061 	-1,-1, 300, 256,
  1062 	-1,-1, 300, 256,
  1062 	WC_EXTRA_VIEW_PORT,0,
  1063 	WC_EXTRA_VIEW_PORT,0,
  1063 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS,
  1064 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON,
  1064 	_extra_view_port_widgets,
  1065 	_extra_view_port_widgets,
  1065 	ExtraViewPortWndProc
  1066 	ExtraViewPortWndProc
  1066 };
  1067 };
  1067 
  1068 
  1068 void ShowExtraViewPortWindow()
  1069 void ShowExtraViewPortWindow()