viewport.c
changeset 4346 66105d4f6e83
parent 4340 89b0ebfb7615
child 4349 1016170ae0cb
equal deleted inserted replaced
4345:1da147230c79 4346:66105d4f6e83
   768 	right = left + dpi->width;
   768 	right = left + dpi->width;
   769 	bottom = top + dpi->height;
   769 	bottom = top + dpi->height;
   770 
   770 
   771 	if (dpi->zoom < 1) {
   771 	if (dpi->zoom < 1) {
   772 		FOR_ALL_TOWNS(t) {
   772 		FOR_ALL_TOWNS(t) {
   773 			if (t->xy &&
   773 			if (bottom > t->sign.top &&
   774 			    bottom > t->sign.top &&
       
   775 					top < t->sign.top + 12 &&
   774 					top < t->sign.top + 12 &&
   776 					right > t->sign.left &&
   775 					right > t->sign.left &&
   777 					left < t->sign.left + t->sign.width_1) {
   776 					left < t->sign.left + t->sign.width_1) {
   778 
   777 
   779 				AddStringToDraw(t->sign.left + 1, t->sign.top + 1,
   778 				AddStringToDraw(t->sign.left + 1, t->sign.top + 1,
   784 	} else if (dpi->zoom == 1) {
   783 	} else if (dpi->zoom == 1) {
   785 		right += 2;
   784 		right += 2;
   786 		bottom += 2;
   785 		bottom += 2;
   787 
   786 
   788 		FOR_ALL_TOWNS(t) {
   787 		FOR_ALL_TOWNS(t) {
   789 			if (t->xy &&
   788 			if (bottom > t->sign.top &&
   790 			    bottom > t->sign.top &&
       
   791 					top < t->sign.top + 24 &&
   789 					top < t->sign.top + 24 &&
   792 					right > t->sign.left &&
   790 					right > t->sign.left &&
   793 					left < t->sign.left + t->sign.width_1*2) {
   791 					left < t->sign.left + t->sign.width_1*2) {
   794 
   792 
   795 				AddStringToDraw(t->sign.left + 1, t->sign.top + 1,
   793 				AddStringToDraw(t->sign.left + 1, t->sign.top + 1,
   801 		right += 4;
   799 		right += 4;
   802 		bottom += 5;
   800 		bottom += 5;
   803 
   801 
   804 		assert(dpi->zoom == 2);
   802 		assert(dpi->zoom == 2);
   805 		FOR_ALL_TOWNS(t) {
   803 		FOR_ALL_TOWNS(t) {
   806 			if (t->xy &&
   804 			if (bottom > t->sign.top &&
   807 			    bottom > t->sign.top &&
       
   808 					top < t->sign.top + 24 &&
   805 					top < t->sign.top + 24 &&
   809 					right > t->sign.left &&
   806 					right > t->sign.left &&
   810 					left < t->sign.left + t->sign.width_2*4) {
   807 					left < t->sign.left + t->sign.width_2*4) {
   811 
   808 
   812 				AddStringToDraw(t->sign.left + 5, t->sign.top + 1, STR_TOWN_LABEL_TINY_BLACK, t->index, 0, 0);
   809 				AddStringToDraw(t->sign.left + 5, t->sign.top + 1, STR_TOWN_LABEL_TINY_BLACK, t->index, 0, 0);
   830 	right = left + dpi->width;
   827 	right = left + dpi->width;
   831 	bottom = top + dpi->height;
   828 	bottom = top + dpi->height;
   832 
   829 
   833 	if (dpi->zoom < 1) {
   830 	if (dpi->zoom < 1) {
   834 		FOR_ALL_STATIONS(st) {
   831 		FOR_ALL_STATIONS(st) {
   835 			if (st->xy &&
   832 			if (bottom > st->sign.top &&
   836 			    bottom > st->sign.top &&
       
   837 					top < st->sign.top + 12 &&
   833 					top < st->sign.top + 12 &&
   838 					right > st->sign.left &&
   834 					right > st->sign.left &&
   839 					left < st->sign.left + st->sign.width_1) {
   835 					left < st->sign.left + st->sign.width_1) {
   840 
   836 
   841 				sstd=AddStringToDraw(st->sign.left + 1, st->sign.top + 1, STR_305C_0, st->index, st->facilities, 0);
   837 				sstd=AddStringToDraw(st->sign.left + 1, st->sign.top + 1, STR_305C_0, st->index, st->facilities, 0);
   848 	} else if (dpi->zoom == 1) {
   844 	} else if (dpi->zoom == 1) {
   849 		right += 2;
   845 		right += 2;
   850 		bottom += 2;
   846 		bottom += 2;
   851 
   847 
   852 		FOR_ALL_STATIONS(st) {
   848 		FOR_ALL_STATIONS(st) {
   853 			if (st->xy &&
   849 			if (bottom > st->sign.top &&
   854 			    bottom > st->sign.top &&
       
   855 					top < st->sign.top + 24 &&
   850 					top < st->sign.top + 24 &&
   856 					right > st->sign.left &&
   851 					right > st->sign.left &&
   857 					left < st->sign.left + st->sign.width_1*2) {
   852 					left < st->sign.left + st->sign.width_1*2) {
   858 
   853 
   859 				sstd=AddStringToDraw(st->sign.left + 1, st->sign.top + 1, STR_305C_0, st->index, st->facilities, 0);
   854 				sstd=AddStringToDraw(st->sign.left + 1, st->sign.top + 1, STR_305C_0, st->index, st->facilities, 0);
   869 
   864 
   870 		right += 4;
   865 		right += 4;
   871 		bottom += 5;
   866 		bottom += 5;
   872 
   867 
   873 		FOR_ALL_STATIONS(st) {
   868 		FOR_ALL_STATIONS(st) {
   874 			if (st->xy &&
   869 			if (bottom > st->sign.top &&
   875 			    bottom > st->sign.top &&
       
   876 					top < st->sign.top + 24 &&
   870 					top < st->sign.top + 24 &&
   877 					right > st->sign.left &&
   871 					right > st->sign.left &&
   878 					left < st->sign.left + st->sign.width_2*4) {
   872 					left < st->sign.left + st->sign.width_2*4) {
   879 
   873 
   880 				sstd=AddStringToDraw(st->sign.left + 1, st->sign.top + 1, STR_STATION_SIGN_TINY, st->index, st->facilities, 0);
   874 				sstd=AddStringToDraw(st->sign.left + 1, st->sign.top + 1, STR_STATION_SIGN_TINY, st->index, st->facilities, 0);
   901 	right = left + dpi->width;
   895 	right = left + dpi->width;
   902 	bottom = top + dpi->height;
   896 	bottom = top + dpi->height;
   903 
   897 
   904 	if (dpi->zoom < 1) {
   898 	if (dpi->zoom < 1) {
   905 		FOR_ALL_SIGNS(ss) {
   899 		FOR_ALL_SIGNS(ss) {
   906 			if (ss->str &&
   900 			if (bottom > ss->sign.top &&
   907 					bottom > ss->sign.top &&
       
   908 					top < ss->sign.top + 12 &&
   901 					top < ss->sign.top + 12 &&
   909 					right > ss->sign.left &&
   902 					right > ss->sign.left &&
   910 					left < ss->sign.left + ss->sign.width_1) {
   903 					left < ss->sign.left + ss->sign.width_1) {
   911 
   904 
   912 				sstd=AddStringToDraw(ss->sign.left + 1, ss->sign.top + 1, STR_2806, ss->str, 0, 0);
   905 				sstd=AddStringToDraw(ss->sign.left + 1, ss->sign.top + 1, STR_2806, ss->str, 0, 0);
   918 		}
   911 		}
   919 	} else if (dpi->zoom == 1) {
   912 	} else if (dpi->zoom == 1) {
   920 		right += 2;
   913 		right += 2;
   921 		bottom += 2;
   914 		bottom += 2;
   922 		FOR_ALL_SIGNS(ss) {
   915 		FOR_ALL_SIGNS(ss) {
   923 			if (ss->str &&
   916 			if (bottom > ss->sign.top &&
   924 					bottom > ss->sign.top &&
       
   925 					top < ss->sign.top + 24 &&
   917 					top < ss->sign.top + 24 &&
   926 					right > ss->sign.left &&
   918 					right > ss->sign.left &&
   927 					left < ss->sign.left + ss->sign.width_1*2) {
   919 					left < ss->sign.left + ss->sign.width_1*2) {
   928 
   920 
   929 				sstd=AddStringToDraw(ss->sign.left + 1, ss->sign.top + 1, STR_2806, ss->str, 0, 0);
   921 				sstd=AddStringToDraw(ss->sign.left + 1, ss->sign.top + 1, STR_2806, ss->str, 0, 0);
   936 	} else {
   928 	} else {
   937 		right += 4;
   929 		right += 4;
   938 		bottom += 5;
   930 		bottom += 5;
   939 
   931 
   940 		FOR_ALL_SIGNS(ss) {
   932 		FOR_ALL_SIGNS(ss) {
   941 			if (ss->str &&
   933 			if (bottom > ss->sign.top &&
   942 					bottom > ss->sign.top &&
       
   943 					top < ss->sign.top + 24 &&
   934 					top < ss->sign.top + 24 &&
   944 					right > ss->sign.left &&
   935 					right > ss->sign.left &&
   945 					left < ss->sign.left + ss->sign.width_2*4) {
   936 					left < ss->sign.left + ss->sign.width_2*4) {
   946 
   937 
   947 				sstd=AddStringToDraw(ss->sign.left + 1, ss->sign.top + 1, STR_2002, ss->str, 0, 0);
   938 				sstd=AddStringToDraw(ss->sign.left + 1, ss->sign.top + 1, STR_2002, ss->str, 0, 0);
   969 	right = left + dpi->width;
   960 	right = left + dpi->width;
   970 	bottom = top + dpi->height;
   961 	bottom = top + dpi->height;
   971 
   962 
   972 	if (dpi->zoom < 1) {
   963 	if (dpi->zoom < 1) {
   973 		FOR_ALL_WAYPOINTS(wp) {
   964 		FOR_ALL_WAYPOINTS(wp) {
   974 			if (wp->xy &&
   965 			if (bottom > wp->sign.top &&
   975 					bottom > wp->sign.top &&
       
   976 					top < wp->sign.top + 12 &&
   966 					top < wp->sign.top + 12 &&
   977 					right > wp->sign.left &&
   967 					right > wp->sign.left &&
   978 					left < wp->sign.left + wp->sign.width_1) {
   968 					left < wp->sign.left + wp->sign.width_1) {
   979 
   969 
   980 				sstd = AddStringToDraw(wp->sign.left + 1, wp->sign.top + 1, STR_WAYPOINT_VIEWPORT, wp->index, 0, 0);
   970 				sstd = AddStringToDraw(wp->sign.left + 1, wp->sign.top + 1, STR_WAYPOINT_VIEWPORT, wp->index, 0, 0);
   986 		}
   976 		}
   987 	} else if (dpi->zoom == 1) {
   977 	} else if (dpi->zoom == 1) {
   988 		right += 2;
   978 		right += 2;
   989 		bottom += 2;
   979 		bottom += 2;
   990 		FOR_ALL_WAYPOINTS(wp) {
   980 		FOR_ALL_WAYPOINTS(wp) {
   991 			if (wp->xy &&
   981 			if (bottom > wp->sign.top &&
   992 					bottom > wp->sign.top &&
       
   993 					top < wp->sign.top + 24 &&
   982 					top < wp->sign.top + 24 &&
   994 					right > wp->sign.left &&
   983 					right > wp->sign.left &&
   995 					left < wp->sign.left + wp->sign.width_1*2) {
   984 					left < wp->sign.left + wp->sign.width_1*2) {
   996 
   985 
   997 				sstd = AddStringToDraw(wp->sign.left + 1, wp->sign.top + 1, STR_WAYPOINT_VIEWPORT, wp->index, 0, 0);
   986 				sstd = AddStringToDraw(wp->sign.left + 1, wp->sign.top + 1, STR_WAYPOINT_VIEWPORT, wp->index, 0, 0);
  1004 	} else {
   993 	} else {
  1005 		right += 4;
   994 		right += 4;
  1006 		bottom += 5;
   995 		bottom += 5;
  1007 
   996 
  1008 		FOR_ALL_WAYPOINTS(wp) {
   997 		FOR_ALL_WAYPOINTS(wp) {
  1009 			if (wp->xy &&
   998 			if (bottom > wp->sign.top &&
  1010 					bottom > wp->sign.top &&
       
  1011 					top < wp->sign.top + 24 &&
   999 					top < wp->sign.top + 24 &&
  1012 					right > wp->sign.left &&
  1000 					right > wp->sign.left &&
  1013 					left < wp->sign.left + wp->sign.width_2*4) {
  1001 					left < wp->sign.left + wp->sign.width_2*4) {
  1014 
  1002 
  1015 				sstd = AddStringToDraw(wp->sign.left + 1, wp->sign.top + 1, STR_WAYPOINT_VIEWPORT_TINY, wp->index, 0, 0);
  1003 				sstd = AddStringToDraw(wp->sign.left + 1, wp->sign.top + 1, STR_WAYPOINT_VIEWPORT_TINY, wp->index, 0, 0);
  1486 	if (vp->zoom < 1) {
  1474 	if (vp->zoom < 1) {
  1487 		x = x - vp->left + vp->virtual_left;
  1475 		x = x - vp->left + vp->virtual_left;
  1488 		y = y - vp->top + vp->virtual_top;
  1476 		y = y - vp->top + vp->virtual_top;
  1489 
  1477 
  1490 		FOR_ALL_TOWNS(t) {
  1478 		FOR_ALL_TOWNS(t) {
  1491 			if (t->xy &&
  1479 			if (y >= t->sign.top &&
  1492 			    y >= t->sign.top &&
       
  1493 					y < t->sign.top + 12 &&
  1480 					y < t->sign.top + 12 &&
  1494 					x >= t->sign.left &&
  1481 					x >= t->sign.left &&
  1495 					x < t->sign.left + t->sign.width_1) {
  1482 					x < t->sign.left + t->sign.width_1) {
  1496 				ShowTownViewWindow(t->index);
  1483 				ShowTownViewWindow(t->index);
  1497 				return true;
  1484 				return true;
  1499 		}
  1486 		}
  1500 	} else if (vp->zoom == 1) {
  1487 	} else if (vp->zoom == 1) {
  1501 		x = (x - vp->left + 1) * 2 + vp->virtual_left;
  1488 		x = (x - vp->left + 1) * 2 + vp->virtual_left;
  1502 		y = (y - vp->top + 1) * 2 + vp->virtual_top;
  1489 		y = (y - vp->top + 1) * 2 + vp->virtual_top;
  1503 		FOR_ALL_TOWNS(t) {
  1490 		FOR_ALL_TOWNS(t) {
  1504 			if (t->xy &&
  1491 			if (y >= t->sign.top &&
  1505 			    y >= t->sign.top &&
       
  1506 					y < t->sign.top + 24 &&
  1492 					y < t->sign.top + 24 &&
  1507 					x >= t->sign.left &&
  1493 					x >= t->sign.left &&
  1508 					x < t->sign.left + t->sign.width_1 * 2) {
  1494 					x < t->sign.left + t->sign.width_1 * 2) {
  1509 				ShowTownViewWindow(t->index);
  1495 				ShowTownViewWindow(t->index);
  1510 				return true;
  1496 				return true;
  1512 		}
  1498 		}
  1513 	} else {
  1499 	} else {
  1514 		x = (x - vp->left + 3) * 4 + vp->virtual_left;
  1500 		x = (x - vp->left + 3) * 4 + vp->virtual_left;
  1515 		y = (y - vp->top + 3) * 4 + vp->virtual_top;
  1501 		y = (y - vp->top + 3) * 4 + vp->virtual_top;
  1516 		FOR_ALL_TOWNS(t) {
  1502 		FOR_ALL_TOWNS(t) {
  1517 			if (t->xy &&
  1503 			if (y >= t->sign.top &&
  1518 			    y >= t->sign.top &&
       
  1519 					y < t->sign.top + 24 &&
  1504 					y < t->sign.top + 24 &&
  1520 					x >= t->sign.left &&
  1505 					x >= t->sign.left &&
  1521 					x < t->sign.left + t->sign.width_2 * 4) {
  1506 					x < t->sign.left + t->sign.width_2 * 4) {
  1522 				ShowTownViewWindow(t->index);
  1507 				ShowTownViewWindow(t->index);
  1523 				return true;
  1508 				return true;
  1537 	if (vp->zoom < 1) {
  1522 	if (vp->zoom < 1) {
  1538 		x = x - vp->left + vp->virtual_left;
  1523 		x = x - vp->left + vp->virtual_left;
  1539 		y = y - vp->top + vp->virtual_top;
  1524 		y = y - vp->top + vp->virtual_top;
  1540 
  1525 
  1541 		FOR_ALL_STATIONS(st) {
  1526 		FOR_ALL_STATIONS(st) {
  1542 			if (st->xy &&
  1527 			if (y >= st->sign.top &&
  1543 			    y >= st->sign.top &&
       
  1544 					y < st->sign.top + 12 &&
  1528 					y < st->sign.top + 12 &&
  1545 					x >= st->sign.left &&
  1529 					x >= st->sign.left &&
  1546 					x < st->sign.left + st->sign.width_1) {
  1530 					x < st->sign.left + st->sign.width_1) {
  1547 				ShowStationViewWindow(st->index);
  1531 				ShowStationViewWindow(st->index);
  1548 				return true;
  1532 				return true;
  1550 		}
  1534 		}
  1551 	} else if (vp->zoom == 1) {
  1535 	} else if (vp->zoom == 1) {
  1552 		x = (x - vp->left + 1) * 2 + vp->virtual_left;
  1536 		x = (x - vp->left + 1) * 2 + vp->virtual_left;
  1553 		y = (y - vp->top + 1) * 2 + vp->virtual_top;
  1537 		y = (y - vp->top + 1) * 2 + vp->virtual_top;
  1554 		FOR_ALL_STATIONS(st) {
  1538 		FOR_ALL_STATIONS(st) {
  1555 			if (st->xy &&
  1539 			if (y >= st->sign.top &&
  1556 			    y >= st->sign.top &&
       
  1557 					y < st->sign.top + 24 &&
  1540 					y < st->sign.top + 24 &&
  1558 					x >= st->sign.left &&
  1541 					x >= st->sign.left &&
  1559 					x < st->sign.left + st->sign.width_1 * 2) {
  1542 					x < st->sign.left + st->sign.width_1 * 2) {
  1560 				ShowStationViewWindow(st->index);
  1543 				ShowStationViewWindow(st->index);
  1561 				return true;
  1544 				return true;
  1563 		}
  1546 		}
  1564 	} else {
  1547 	} else {
  1565 		x = (x - vp->left + 3) * 4 + vp->virtual_left;
  1548 		x = (x - vp->left + 3) * 4 + vp->virtual_left;
  1566 		y = (y - vp->top + 3) * 4 + vp->virtual_top;
  1549 		y = (y - vp->top + 3) * 4 + vp->virtual_top;
  1567 		FOR_ALL_STATIONS(st) {
  1550 		FOR_ALL_STATIONS(st) {
  1568 			if (st->xy &&
  1551 			if (y >= st->sign.top &&
  1569 			    y >= st->sign.top &&
       
  1570 					y < st->sign.top + 24 &&
  1552 					y < st->sign.top + 24 &&
  1571 					x >= st->sign.left &&
  1553 					x >= st->sign.left &&
  1572 					x < st->sign.left + st->sign.width_2 * 4) {
  1554 					x < st->sign.left + st->sign.width_2 * 4) {
  1573 				ShowStationViewWindow(st->index);
  1555 				ShowStationViewWindow(st->index);
  1574 				return true;
  1556 				return true;
  1588 	if (vp->zoom < 1) {
  1570 	if (vp->zoom < 1) {
  1589 		x = x - vp->left + vp->virtual_left;
  1571 		x = x - vp->left + vp->virtual_left;
  1590 		y = y - vp->top + vp->virtual_top;
  1572 		y = y - vp->top + vp->virtual_top;
  1591 
  1573 
  1592 		FOR_ALL_SIGNS(ss) {
  1574 		FOR_ALL_SIGNS(ss) {
  1593 			if (ss->str &&
  1575 			if (y >= ss->sign.top &&
  1594 			    y >= ss->sign.top &&
       
  1595 					y < ss->sign.top + 12 &&
  1576 					y < ss->sign.top + 12 &&
  1596 					x >= ss->sign.left &&
  1577 					x >= ss->sign.left &&
  1597 					x < ss->sign.left + ss->sign.width_1) {
  1578 					x < ss->sign.left + ss->sign.width_1) {
  1598 				ShowRenameSignWindow(ss);
  1579 				ShowRenameSignWindow(ss);
  1599 				return true;
  1580 				return true;
  1601 		}
  1582 		}
  1602 	} else if (vp->zoom == 1) {
  1583 	} else if (vp->zoom == 1) {
  1603 		x = (x - vp->left + 1) * 2 + vp->virtual_left;
  1584 		x = (x - vp->left + 1) * 2 + vp->virtual_left;
  1604 		y = (y - vp->top + 1) * 2 + vp->virtual_top;
  1585 		y = (y - vp->top + 1) * 2 + vp->virtual_top;
  1605 		FOR_ALL_SIGNS(ss) {
  1586 		FOR_ALL_SIGNS(ss) {
  1606 			if (ss->str &&
  1587 			if (y >= ss->sign.top &&
  1607 			    y >= ss->sign.top &&
       
  1608 					y < ss->sign.top + 24 &&
  1588 					y < ss->sign.top + 24 &&
  1609 					x >= ss->sign.left &&
  1589 					x >= ss->sign.left &&
  1610 					x < ss->sign.left + ss->sign.width_1 * 2) {
  1590 					x < ss->sign.left + ss->sign.width_1 * 2) {
  1611 				ShowRenameSignWindow(ss);
  1591 				ShowRenameSignWindow(ss);
  1612 				return true;
  1592 				return true;
  1614 		}
  1594 		}
  1615 	} else {
  1595 	} else {
  1616 		x = (x - vp->left + 3) * 4 + vp->virtual_left;
  1596 		x = (x - vp->left + 3) * 4 + vp->virtual_left;
  1617 		y = (y - vp->top + 3) * 4 + vp->virtual_top;
  1597 		y = (y - vp->top + 3) * 4 + vp->virtual_top;
  1618 		FOR_ALL_SIGNS(ss) {
  1598 		FOR_ALL_SIGNS(ss) {
  1619 			if (ss->str &&
  1599 			if (y >= ss->sign.top &&
  1620 			    y >= ss->sign.top &&
       
  1621 					y < ss->sign.top + 24 &&
  1600 					y < ss->sign.top + 24 &&
  1622 					x >= ss->sign.left &&
  1601 					x >= ss->sign.left &&
  1623 					x < ss->sign.left + ss->sign.width_2 * 4) {
  1602 					x < ss->sign.left + ss->sign.width_2 * 4) {
  1624 				ShowRenameSignWindow(ss);
  1603 				ShowRenameSignWindow(ss);
  1625 				return true;
  1604 				return true;
  1639 	if (vp->zoom < 1) {
  1618 	if (vp->zoom < 1) {
  1640 		x = x - vp->left + vp->virtual_left;
  1619 		x = x - vp->left + vp->virtual_left;
  1641 		y = y - vp->top + vp->virtual_top;
  1620 		y = y - vp->top + vp->virtual_top;
  1642 
  1621 
  1643 		FOR_ALL_WAYPOINTS(wp) {
  1622 		FOR_ALL_WAYPOINTS(wp) {
  1644 			if (wp->xy &&
  1623 			if (y >= wp->sign.top &&
  1645 			    y >= wp->sign.top &&
       
  1646 					y < wp->sign.top + 12 &&
  1624 					y < wp->sign.top + 12 &&
  1647 					x >= wp->sign.left &&
  1625 					x >= wp->sign.left &&
  1648 					x < wp->sign.left + wp->sign.width_1) {
  1626 					x < wp->sign.left + wp->sign.width_1) {
  1649 				ShowRenameWaypointWindow(wp);
  1627 				ShowRenameWaypointWindow(wp);
  1650 				return true;
  1628 				return true;
  1652 		}
  1630 		}
  1653 	} else if (vp->zoom == 1) {
  1631 	} else if (vp->zoom == 1) {
  1654 		x = (x - vp->left + 1) * 2 + vp->virtual_left;
  1632 		x = (x - vp->left + 1) * 2 + vp->virtual_left;
  1655 		y = (y - vp->top + 1) * 2 + vp->virtual_top;
  1633 		y = (y - vp->top + 1) * 2 + vp->virtual_top;
  1656 		FOR_ALL_WAYPOINTS(wp) {
  1634 		FOR_ALL_WAYPOINTS(wp) {
  1657 			if (wp->xy &&
  1635 			if (y >= wp->sign.top &&
  1658 			    y >= wp->sign.top &&
       
  1659 					y < wp->sign.top + 24 &&
  1636 					y < wp->sign.top + 24 &&
  1660 					x >= wp->sign.left &&
  1637 					x >= wp->sign.left &&
  1661 					x < wp->sign.left + wp->sign.width_1 * 2) {
  1638 					x < wp->sign.left + wp->sign.width_1 * 2) {
  1662 				ShowRenameWaypointWindow(wp);
  1639 				ShowRenameWaypointWindow(wp);
  1663 				return true;
  1640 				return true;
  1665 		}
  1642 		}
  1666 	} else {
  1643 	} else {
  1667 		x = (x - vp->left + 3) * 4 + vp->virtual_left;
  1644 		x = (x - vp->left + 3) * 4 + vp->virtual_left;
  1668 		y = (y - vp->top + 3) * 4 + vp->virtual_top;
  1645 		y = (y - vp->top + 3) * 4 + vp->virtual_top;
  1669 		FOR_ALL_WAYPOINTS(wp) {
  1646 		FOR_ALL_WAYPOINTS(wp) {
  1670 			if (wp->xy &&
  1647 			if (y >= wp->sign.top &&
  1671 			    y >= wp->sign.top &&
       
  1672 					y < wp->sign.top + 24 &&
  1648 					y < wp->sign.top + 24 &&
  1673 					x >= wp->sign.left &&
  1649 					x >= wp->sign.left &&
  1674 					x < wp->sign.left + wp->sign.width_2 * 4) {
  1650 					x < wp->sign.left + wp->sign.width_2 * 4) {
  1675 				ShowRenameWaypointWindow(wp);
  1651 				ShowRenameWaypointWindow(wp);
  1676 				return true;
  1652 				return true;