branch | NewGRF_ports |
changeset 6743 | cabfaa4a0295 |
parent 6725 | 23339968083f |
child 6800 | 6c09e1e86fcb |
6742:1337d6c9b97b | 6743:cabfaa4a0295 |
---|---|
742 |
742 |
743 SndPlayFx(SND_15_BEEP); |
743 SndPlayFx(SND_15_BEEP); |
744 return w; |
744 return w; |
745 } |
745 } |
746 |
746 |
747 static Window *PopupMainPlayerToolbMenu(Window *w, int x, int main_button, int gray) |
747 static Window *PopupMainPlayerToolbMenu(Window *w, int main_button, int gray) |
748 { |
748 { |
749 x += w->left; |
749 int x = w->widget[main_button].left + w->left; |
750 |
750 |
751 LowerWindowWidget(w, main_button); |
751 LowerWindowWidget(w, main_button); |
752 InvalidateWidget(w, main_button); |
752 InvalidateWidget(w, main_button); |
753 |
753 |
754 DeleteWindowById(WC_TOOLBAR_MENU, 0); |
754 DeleteWindowById(WC_TOOLBAR_MENU, 0); |
793 PopupMainToolbMenu(w, 6, STR_02DD_SUBSIDIES, 1, 0); |
793 PopupMainToolbMenu(w, 6, STR_02DD_SUBSIDIES, 1, 0); |
794 } |
794 } |
795 |
795 |
796 static void ToolbarStationsClick(Window *w) |
796 static void ToolbarStationsClick(Window *w) |
797 { |
797 { |
798 PopupMainPlayerToolbMenu(w, 162, 7, 0); |
798 PopupMainPlayerToolbMenu(w, 7, 0); |
799 } |
799 } |
800 |
800 |
801 static void ToolbarMoneyClick(Window *w) |
801 static void ToolbarMoneyClick(Window *w) |
802 { |
802 { |
803 PopupMainPlayerToolbMenu(w, 191, 8, 0); |
803 PopupMainPlayerToolbMenu(w, 8, 0); |
804 } |
804 } |
805 |
805 |
806 static void ToolbarPlayersClick(Window *w) |
806 static void ToolbarPlayersClick(Window *w) |
807 { |
807 { |
808 PopupMainPlayerToolbMenu(w, 213, 9, 0); |
808 PopupMainPlayerToolbMenu(w, 9, 0); |
809 } |
809 } |
810 |
810 |
811 static void ToolbarGraphsClick(Window *w) |
811 static void ToolbarGraphsClick(Window *w) |
812 { |
812 { |
813 PopupMainToolbMenu(w, 10, STR_0154_OPERATING_PROFIT_GRAPH, 6, 0); |
813 PopupMainToolbMenu(w, 10, STR_0154_OPERATING_PROFIT_GRAPH, 6, 0); |
830 int dis = -1; |
830 int dis = -1; |
831 |
831 |
832 FOR_ALL_VEHICLES(v) { |
832 FOR_ALL_VEHICLES(v) { |
833 if (v->type == VEH_TRAIN && IsFrontEngine(v)) CLRBIT(dis, v->owner); |
833 if (v->type == VEH_TRAIN && IsFrontEngine(v)) CLRBIT(dis, v->owner); |
834 } |
834 } |
835 PopupMainPlayerToolbMenu(w, 310, 13, dis); |
835 PopupMainPlayerToolbMenu(w, 13, dis); |
836 } |
836 } |
837 |
837 |
838 static void ToolbarRoadClick(Window *w) |
838 static void ToolbarRoadClick(Window *w) |
839 { |
839 { |
840 const Vehicle *v; |
840 const Vehicle *v; |
841 int dis = -1; |
841 int dis = -1; |
842 |
842 |
843 FOR_ALL_VEHICLES(v) { |
843 FOR_ALL_VEHICLES(v) { |
844 if (v->type == VEH_ROAD && IsRoadVehFront(v)) CLRBIT(dis, v->owner); |
844 if (v->type == VEH_ROAD && IsRoadVehFront(v)) CLRBIT(dis, v->owner); |
845 } |
845 } |
846 PopupMainPlayerToolbMenu(w, 332, 14, dis); |
846 PopupMainPlayerToolbMenu(w, 14, dis); |
847 } |
847 } |
848 |
848 |
849 static void ToolbarShipClick(Window *w) |
849 static void ToolbarShipClick(Window *w) |
850 { |
850 { |
851 const Vehicle *v; |
851 const Vehicle *v; |
852 int dis = -1; |
852 int dis = -1; |
853 |
853 |
854 FOR_ALL_VEHICLES(v) { |
854 FOR_ALL_VEHICLES(v) { |
855 if (v->type == VEH_SHIP) CLRBIT(dis, v->owner); |
855 if (v->type == VEH_SHIP) CLRBIT(dis, v->owner); |
856 } |
856 } |
857 PopupMainPlayerToolbMenu(w, 354, 15, dis); |
857 PopupMainPlayerToolbMenu(w, 15, dis); |
858 } |
858 } |
859 |
859 |
860 static void ToolbarAirClick(Window *w) |
860 static void ToolbarAirClick(Window *w) |
861 { |
861 { |
862 const Vehicle *v; |
862 const Vehicle *v; |
863 int dis = -1; |
863 int dis = -1; |
864 |
864 |
865 FOR_ALL_VEHICLES(v) { |
865 FOR_ALL_VEHICLES(v) { |
866 if (v->type == VEH_AIRCRAFT) CLRBIT(dis, v->owner); |
866 if (v->type == VEH_AIRCRAFT) CLRBIT(dis, v->owner); |
867 } |
867 } |
868 PopupMainPlayerToolbMenu(w, 376, 16, dis); |
868 PopupMainPlayerToolbMenu(w, 16, dis); |
869 } |
869 } |
870 |
870 |
871 /* Zooms a viewport in a window in or out */ |
871 /* Zooms a viewport in a window in or out */ |
872 /* No button handling or what so ever */ |
872 /* No button handling or what so ever */ |
873 bool DoZoomInOutWindow(int how, Window *w) |
873 bool DoZoomInOutWindow(int how, Window *w) |
1402 break; |
1402 break; |
1403 } |
1403 } |
1404 } |
1404 } |
1405 |
1405 |
1406 static const WindowDesc _scen_edit_land_gen_desc = { |
1406 static const WindowDesc _scen_edit_land_gen_desc = { |
1407 WDP_AUTO, WDP_AUTO, 182, 103, |
1407 WDP_AUTO, WDP_AUTO, 182, 103, 182, 103, |
1408 WC_SCEN_LAND_GEN, WC_NONE, |
1408 WC_SCEN_LAND_GEN, WC_NONE, |
1409 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON, |
1409 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON, |
1410 _scen_edit_land_gen_widgets, |
1410 _scen_edit_land_gen_widgets, |
1411 ScenEditLandGenWndProc, |
1411 ScenEditLandGenWndProc, |
1412 }; |
1412 }; |
1523 break; |
1523 break; |
1524 } |
1524 } |
1525 } |
1525 } |
1526 |
1526 |
1527 static const WindowDesc _scen_edit_town_gen_desc = { |
1527 static const WindowDesc _scen_edit_town_gen_desc = { |
1528 WDP_AUTO, WDP_AUTO, 160, 95, |
1528 WDP_AUTO, WDP_AUTO, 160, 95, 160, 95, |
1529 WC_SCEN_TOWN_GEN, WC_NONE, |
1529 WC_SCEN_TOWN_GEN, WC_NONE, |
1530 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON, |
1530 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON, |
1531 _scen_edit_town_gen_widgets, |
1531 _scen_edit_town_gen_widgets, |
1532 ScenEditTownGenWndProc, |
1532 ScenEditTownGenWndProc, |
1533 }; |
1533 }; |
1647 case WKC_F12: ShowBuildIndustryWindow(); break; |
1647 case WKC_F12: ShowBuildIndustryWindow(); break; |
1648 case WKC_SHIFT | WKC_F1: ShowVehicleListWindow(_local_player, VEH_TRAIN); break; |
1648 case WKC_SHIFT | WKC_F1: ShowVehicleListWindow(_local_player, VEH_TRAIN); break; |
1649 case WKC_SHIFT | WKC_F2: ShowVehicleListWindow(_local_player, VEH_ROAD); break; |
1649 case WKC_SHIFT | WKC_F2: ShowVehicleListWindow(_local_player, VEH_ROAD); break; |
1650 case WKC_SHIFT | WKC_F3: ShowVehicleListWindow(_local_player, VEH_SHIP); break; |
1650 case WKC_SHIFT | WKC_F3: ShowVehicleListWindow(_local_player, VEH_SHIP); break; |
1651 case WKC_SHIFT | WKC_F4: ShowVehicleListWindow(_local_player, VEH_AIRCRAFT); break; |
1651 case WKC_SHIFT | WKC_F4: ShowVehicleListWindow(_local_player, VEH_AIRCRAFT); break; |
1652 case WKC_NUM_PLUS: // Fall through |
|
1653 case WKC_EQUALS: // Fall through |
|
1654 case WKC_SHIFT | WKC_EQUALS: // Fall through |
|
1652 case WKC_SHIFT | WKC_F5: ToolbarZoomInClick(w); break; |
1655 case WKC_SHIFT | WKC_F5: ToolbarZoomInClick(w); break; |
1656 case WKC_NUM_MINUS: // Fall through |
|
1657 case WKC_MINUS: // Fall through |
|
1658 case WKC_SHIFT | WKC_MINUS: // Fall through |
|
1653 case WKC_SHIFT | WKC_F6: ToolbarZoomOutClick(w); break; |
1659 case WKC_SHIFT | WKC_F6: ToolbarZoomOutClick(w); break; |
1654 case WKC_SHIFT | WKC_F7: if (CanBuildVehicleInfrastructure(VEH_TRAIN)) ShowBuildRailToolbar(_last_built_railtype, -1); break; |
1660 case WKC_SHIFT | WKC_F7: if (CanBuildVehicleInfrastructure(VEH_TRAIN)) ShowBuildRailToolbar(_last_built_railtype, -1); break; |
1655 case WKC_SHIFT | WKC_F8: ShowBuildRoadToolbar(_last_built_roadtype); break; |
1661 case WKC_SHIFT | WKC_F8: ShowBuildRoadToolbar(_last_built_roadtype); break; |
1656 case WKC_SHIFT | WKC_F9: ShowBuildDocksToolbar(); break; |
1662 case WKC_SHIFT | WKC_F9: ShowBuildDocksToolbar(); break; |
1657 case WKC_SHIFT | WKC_F10: if (CanBuildVehicleInfrastructure(VEH_AIRCRAFT)) ShowBuildAirToolbar(); break; |
1663 case WKC_SHIFT | WKC_F10: if (CanBuildVehicleInfrastructure(VEH_AIRCRAFT)) ShowBuildAirToolbar(); break; |
1658 case WKC_SHIFT | WKC_F11: ShowBuildTreesToolbar(); break; |
1664 case WKC_SHIFT | WKC_F11: ShowBuildTreesToolbar(); break; |
1659 case WKC_SHIFT | WKC_F12: ShowMusicWindow(); break; |
1665 case WKC_SHIFT | WKC_F12: ShowMusicWindow(); break; |
1660 case WKC_CTRL | 'S': MenuClickSmallScreenshot(); break; |
1666 case WKC_CTRL | 'S': MenuClickSmallScreenshot(); break; |
1661 case WKC_CTRL | 'G': MenuClickWorldScreenshot(); break; |
1667 case WKC_CTRL | 'G': MenuClickWorldScreenshot(); break; |
1662 case WKC_CTRL | WKC_ALT | 'C': if (!_networking) ShowCheatWindow(); break; |
1668 case WKC_CTRL | WKC_ALT | 'C': if (!_networking) ShowCheatWindow(); break; |
1663 case 'A': if (CanBuildVehicleInfrastructure(VEH_TRAIN)) ShowBuildRailToolbar(_last_built_railtype, 4); break; /* Invoke Autorail */ |
1669 case 'A': if (CanBuildVehicleInfrastructure(VEH_TRAIN)) ShowBuildRailToolbar(_last_built_railtype, 4); break; // Invoke Autorail |
1664 case 'L': ShowTerraformToolbar(); break; |
1670 case 'L': ShowTerraformToolbar(); break; |
1671 case 'M': ShowSmallMap(); break; |
|
1672 case 'V': ShowExtraViewPortWindow(); break; |
|
1665 default: return; |
1673 default: return; |
1666 } |
1674 } |
1667 e->we.keypress.cont = false; |
1675 e->we.keypress.cont = false; |
1668 } break; |
1676 } break; |
1669 |
1677 |
1685 if (IsWindowWidgetLowered(w, 1) != !!_fast_forward) { |
1693 if (IsWindowWidgetLowered(w, 1) != !!_fast_forward) { |
1686 ToggleWidgetLoweredState(w, 1); |
1694 ToggleWidgetLoweredState(w, 1); |
1687 InvalidateWidget(w, 1); |
1695 InvalidateWidget(w, 1); |
1688 } |
1696 } |
1689 break; |
1697 break; |
1698 |
|
1699 case WE_RESIZE: { |
|
1700 /* There are 27 buttons plus some spacings if the space allows it */ |
|
1701 uint button_width; |
|
1702 uint spacing; |
|
1703 if (w->width >= 27 * 22) { |
|
1704 button_width = 22; |
|
1705 spacing = w->width - (27 * button_width); |
|
1706 } else { |
|
1707 button_width = w->width / 27; |
|
1708 spacing = 0; |
|
1709 } |
|
1710 uint extra_spacing_at[] = { 4, 8, 13, 17, 19, 24, 0 }; |
|
1711 |
|
1712 for (uint i = 0, x = 0, j = 0; i < 27; i++) { |
|
1713 if (extra_spacing_at[j] == i) { |
|
1714 j++; |
|
1715 uint add = spacing / (lengthof(extra_spacing_at) - j); |
|
1716 spacing -= add; |
|
1717 x += add; |
|
1718 } |
|
1719 |
|
1720 w->widget[i].left = x; |
|
1721 x += (spacing != 0) ? button_width : (w->width - x) / (27 - i); |
|
1722 w->widget[i].right = x - 1; |
|
1723 } |
|
1724 } break; |
|
1690 |
1725 |
1691 case WE_TIMEOUT: { |
1726 case WE_TIMEOUT: { |
1692 uint i; |
1727 uint i; |
1693 for (i = 2; i < w->widget_count; i++) { |
1728 for (i = 2; i < w->widget_count; i++) { |
1694 if (IsWindowWidgetLowered(w, i)) { |
1729 if (IsWindowWidgetLowered(w, i)) { |
1704 break; |
1739 break; |
1705 } |
1740 } |
1706 } |
1741 } |
1707 |
1742 |
1708 static const Widget _toolb_normal_widgets[] = { |
1743 static const Widget _toolb_normal_widgets[] = { |
1709 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 21, 0, 21, SPR_IMG_PAUSE, STR_0171_PAUSE_GAME}, |
1744 { WWT_IMGBTN, RESIZE_LEFT, 14, 0, 0, 0, 21, SPR_IMG_PAUSE, STR_0171_PAUSE_GAME}, |
1710 { WWT_IMGBTN, RESIZE_NONE, 14, 22, 43, 0, 21, SPR_IMG_FASTFORWARD, STR_FAST_FORWARD}, |
1745 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_FASTFORWARD, STR_FAST_FORWARD}, |
1711 { WWT_IMGBTN, RESIZE_NONE, 14, 44, 65, 0, 21, SPR_IMG_SETTINGS, STR_0187_OPTIONS}, |
1746 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_SETTINGS, STR_0187_OPTIONS}, |
1712 { WWT_IMGBTN_2, RESIZE_NONE, 14, 66, 87, 0, 21, SPR_IMG_SAVE, STR_0172_SAVE_GAME_ABANDON_GAME}, |
1747 { WWT_IMGBTN_2, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_SAVE, STR_0172_SAVE_GAME_ABANDON_GAME}, |
1713 |
1748 |
1714 { WWT_IMGBTN, RESIZE_NONE, 14, 96, 117, 0, 21, SPR_IMG_SMALLMAP, STR_0174_DISPLAY_MAP}, |
1749 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_SMALLMAP, STR_0174_DISPLAY_MAP}, |
1715 { WWT_IMGBTN, RESIZE_NONE, 14, 118, 139, 0, 21, SPR_IMG_TOWN, STR_0176_DISPLAY_TOWN_DIRECTORY}, |
1750 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_TOWN, STR_0176_DISPLAY_TOWN_DIRECTORY}, |
1716 { WWT_IMGBTN, RESIZE_NONE, 14, 140, 161, 0, 21, SPR_IMG_SUBSIDIES, STR_02DC_DISPLAY_SUBSIDIES}, |
1751 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_SUBSIDIES, STR_02DC_DISPLAY_SUBSIDIES}, |
1717 { WWT_IMGBTN, RESIZE_NONE, 14, 162, 183, 0, 21, SPR_IMG_COMPANY_LIST, STR_0173_DISPLAY_LIST_OF_COMPANY}, |
1752 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_COMPANY_LIST, STR_0173_DISPLAY_LIST_OF_COMPANY}, |
1718 |
1753 |
1719 { WWT_IMGBTN, RESIZE_NONE, 14, 191, 212, 0, 21, SPR_IMG_COMPANY_FINANCE, STR_0177_DISPLAY_COMPANY_FINANCES}, |
1754 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_COMPANY_FINANCE, STR_0177_DISPLAY_COMPANY_FINANCES}, |
1720 { WWT_IMGBTN, RESIZE_NONE, 14, 213, 235, 0, 21, SPR_IMG_COMPANY_GENERAL, STR_0178_DISPLAY_COMPANY_GENERAL}, |
1755 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_COMPANY_GENERAL, STR_0178_DISPLAY_COMPANY_GENERAL}, |
1721 { WWT_IMGBTN, RESIZE_NONE, 14, 236, 257, 0, 21, SPR_IMG_GRAPHS, STR_0179_DISPLAY_GRAPHS}, |
1756 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_GRAPHS, STR_0179_DISPLAY_GRAPHS}, |
1722 { WWT_IMGBTN, RESIZE_NONE, 14, 258, 279, 0, 21, SPR_IMG_COMPANY_LEAGUE, STR_017A_DISPLAY_COMPANY_LEAGUE}, |
1757 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_COMPANY_LEAGUE, STR_017A_DISPLAY_COMPANY_LEAGUE}, |
1723 { WWT_IMGBTN, RESIZE_NONE, 14, 280, 301, 0, 21, SPR_IMG_INDUSTRY, STR_0312_FUND_CONSTRUCTION_OF_NEW}, |
1758 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_INDUSTRY, STR_0312_FUND_CONSTRUCTION_OF_NEW}, |
1724 |
1759 |
1725 { WWT_IMGBTN, RESIZE_NONE, 14, 310, 331, 0, 21, SPR_IMG_TRAINLIST, STR_017B_DISPLAY_LIST_OF_COMPANY}, |
1760 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_TRAINLIST, STR_017B_DISPLAY_LIST_OF_COMPANY}, |
1726 { WWT_IMGBTN, RESIZE_NONE, 14, 332, 353, 0, 21, SPR_IMG_TRUCKLIST, STR_017C_DISPLAY_LIST_OF_COMPANY}, |
1761 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_TRUCKLIST, STR_017C_DISPLAY_LIST_OF_COMPANY}, |
1727 { WWT_IMGBTN, RESIZE_NONE, 14, 354, 375, 0, 21, SPR_IMG_SHIPLIST, STR_017D_DISPLAY_LIST_OF_COMPANY}, |
1762 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_SHIPLIST, STR_017D_DISPLAY_LIST_OF_COMPANY}, |
1728 { WWT_IMGBTN, RESIZE_NONE, 14, 376, 397, 0, 21, SPR_IMG_AIRPLANESLIST, STR_017E_DISPLAY_LIST_OF_COMPANY}, |
1763 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_AIRPLANESLIST, STR_017E_DISPLAY_LIST_OF_COMPANY}, |
1729 |
1764 |
1730 { WWT_IMGBTN, RESIZE_NONE, 14, 406, 427, 0, 21, SPR_IMG_ZOOMIN, STR_017F_ZOOM_THE_VIEW_IN}, |
1765 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_ZOOMIN, STR_017F_ZOOM_THE_VIEW_IN}, |
1731 { WWT_IMGBTN, RESIZE_NONE, 14, 428, 449, 0, 21, SPR_IMG_ZOOMOUT, STR_0180_ZOOM_THE_VIEW_OUT}, |
1766 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_ZOOMOUT, STR_0180_ZOOM_THE_VIEW_OUT}, |
1732 |
1767 |
1733 { WWT_IMGBTN, RESIZE_NONE, 14, 457, 478, 0, 21, SPR_IMG_BUILDRAIL, STR_0181_BUILD_RAILROAD_TRACK}, |
1768 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_BUILDRAIL, STR_0181_BUILD_RAILROAD_TRACK}, |
1734 { WWT_IMGBTN, RESIZE_NONE, 14, 479, 500, 0, 21, SPR_IMG_BUILDROAD, STR_0182_BUILD_ROADS}, |
1769 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_BUILDROAD, STR_0182_BUILD_ROADS}, |
1735 { WWT_IMGBTN, RESIZE_NONE, 14, 501, 522, 0, 21, SPR_IMG_BUILDWATER, STR_0183_BUILD_SHIP_DOCKS}, |
1770 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_BUILDWATER, STR_0183_BUILD_SHIP_DOCKS}, |
1736 { WWT_IMGBTN, RESIZE_NONE, 14, 523, 544, 0, 21, SPR_IMG_BUILDAIR, STR_0184_BUILD_AIRPORTS}, |
1771 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_BUILDAIR, STR_0184_BUILD_AIRPORTS}, |
1737 { WWT_IMGBTN, RESIZE_NONE, 14, 545, 566, 0, 21, SPR_IMG_LANDSCAPING, STR_LANDSCAPING_TOOLBAR_TIP}, // tree icon is 0x2E6 |
1772 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_LANDSCAPING, STR_LANDSCAPING_TOOLBAR_TIP}, // tree icon is 0x2E6 |
1738 |
1773 |
1739 { WWT_IMGBTN, RESIZE_NONE, 14, 574, 595, 0, 21, SPR_IMG_MUSIC, STR_01D4_SHOW_SOUND_MUSIC_WINDOW}, |
1774 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_MUSIC, STR_01D4_SHOW_SOUND_MUSIC_WINDOW}, |
1740 { WWT_IMGBTN, RESIZE_NONE, 14, 596, 617, 0, 21, SPR_IMG_MESSAGES, STR_0203_SHOW_LAST_MESSAGE_NEWS}, |
1775 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_MESSAGES, STR_0203_SHOW_LAST_MESSAGE_NEWS}, |
1741 { WWT_IMGBTN, RESIZE_NONE, 14, 618, 639, 0, 21, SPR_IMG_QUERY, STR_0186_LAND_BLOCK_INFORMATION}, |
1776 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_QUERY, STR_0186_LAND_BLOCK_INFORMATION}, |
1742 { WIDGETS_END}, |
1777 { WIDGETS_END}, |
1743 }; |
1778 }; |
1744 |
1779 |
1745 static const WindowDesc _toolb_normal_desc = { |
1780 static const WindowDesc _toolb_normal_desc = { |
1746 0, 0, 640, 22, |
1781 0, 0, 0, 22, 640, 22, |
1747 WC_MAIN_TOOLBAR, WC_NONE, |
1782 WC_MAIN_TOOLBAR, WC_NONE, |
1748 WDF_STD_TOOLTIPS | WDF_DEF_WIDGET, |
1783 WDF_STD_TOOLTIPS | WDF_DEF_WIDGET, |
1749 _toolb_normal_widgets, |
1784 _toolb_normal_widgets, |
1750 MainToolbarWndProc |
1785 MainToolbarWndProc |
1751 }; |
1786 }; |
1752 |
1787 |
1753 |
1788 |
1754 static const Widget _toolb_scen_widgets[] = { |
1789 static const Widget _toolb_scen_widgets[] = { |
1755 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 21, 0, 21, SPR_IMG_PAUSE, STR_0171_PAUSE_GAME}, |
1790 { WWT_IMGBTN, RESIZE_LEFT, 14, 0, 0, 0, 21, SPR_IMG_PAUSE, STR_0171_PAUSE_GAME}, |
1756 { WWT_IMGBTN, RESIZE_NONE, 14, 22, 43, 0, 21, SPR_IMG_FASTFORWARD, STR_FAST_FORWARD}, |
1791 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_FASTFORWARD, STR_FAST_FORWARD}, |
1757 { WWT_IMGBTN, RESIZE_NONE, 14, 44, 65, 0, 21, SPR_IMG_SETTINGS, STR_0187_OPTIONS}, |
1792 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_SETTINGS, STR_0187_OPTIONS}, |
1758 {WWT_IMGBTN_2, RESIZE_NONE, 14, 66, 87, 0, 21, SPR_IMG_SAVE, STR_0297_SAVE_SCENARIO_LOAD_SCENARIO}, |
1793 {WWT_IMGBTN_2, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_SAVE, STR_0297_SAVE_SCENARIO_LOAD_SCENARIO}, |
1759 |
1794 |
1760 { WWT_PANEL, RESIZE_NONE, 14, 96, 225, 0, 21, 0x0, STR_NULL}, |
1795 { WWT_PANEL, RESIZE_NONE, 14, 0, 0, 0, 21, 0x0, STR_NULL}, |
1761 |
1796 |
1762 { WWT_PANEL, RESIZE_NONE, 14, 233, 362, 0, 21, 0x0, STR_NULL}, |
1797 { WWT_PANEL, RESIZE_NONE, 14, 0, 129, 0, 21, 0x0, STR_NULL}, |
1763 { WWT_IMGBTN, RESIZE_NONE, 14, 236, 247, 5, 16, SPR_ARROW_DOWN, STR_029E_MOVE_THE_STARTING_DATE}, |
1798 { WWT_IMGBTN, RESIZE_NONE, 14, 3, 14, 5, 16, SPR_ARROW_DOWN, STR_029E_MOVE_THE_STARTING_DATE}, |
1764 { WWT_IMGBTN, RESIZE_NONE, 14, 347, 358, 5, 16, SPR_ARROW_UP, STR_029F_MOVE_THE_STARTING_DATE}, |
1799 { WWT_IMGBTN, RESIZE_NONE, 14, 113, 125, 5, 16, SPR_ARROW_UP, STR_029F_MOVE_THE_STARTING_DATE}, |
1765 |
1800 |
1766 { WWT_IMGBTN, RESIZE_NONE, 14, 371, 392, 0, 21, SPR_IMG_SMALLMAP, STR_0175_DISPLAY_MAP_TOWN_DIRECTORY}, |
1801 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_SMALLMAP, STR_0175_DISPLAY_MAP_TOWN_DIRECTORY}, |
1767 |
1802 |
1768 { WWT_IMGBTN, RESIZE_NONE, 14, 400, 421, 0, 21, SPR_IMG_ZOOMIN, STR_017F_ZOOM_THE_VIEW_IN}, |
1803 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_ZOOMIN, STR_017F_ZOOM_THE_VIEW_IN}, |
1769 { WWT_IMGBTN, RESIZE_NONE, 14, 422, 443, 0, 21, SPR_IMG_ZOOMOUT, STR_0180_ZOOM_THE_VIEW_OUT}, |
1804 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_ZOOMOUT, STR_0180_ZOOM_THE_VIEW_OUT}, |
1770 |
1805 |
1771 { WWT_IMGBTN, RESIZE_NONE, 14, 452, 473, 0, 21, SPR_IMG_LANDSCAPING, STR_022E_LANDSCAPE_GENERATION}, |
1806 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_LANDSCAPING, STR_022E_LANDSCAPE_GENERATION}, |
1772 { WWT_IMGBTN, RESIZE_NONE, 14, 474, 495, 0, 21, SPR_IMG_TOWN, STR_022F_TOWN_GENERATION}, |
1807 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_TOWN, STR_022F_TOWN_GENERATION}, |
1773 { WWT_IMGBTN, RESIZE_NONE, 14, 496, 517, 0, 21, SPR_IMG_INDUSTRY, STR_0230_INDUSTRY_GENERATION}, |
1808 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_INDUSTRY, STR_0230_INDUSTRY_GENERATION}, |
1774 { WWT_IMGBTN, RESIZE_NONE, 14, 518, 539, 0, 21, SPR_IMG_BUILDROAD, STR_0231_ROAD_CONSTRUCTION}, |
1809 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_BUILDROAD, STR_0231_ROAD_CONSTRUCTION}, |
1775 { WWT_IMGBTN, RESIZE_NONE, 14, 540, 561, 0, 21, SPR_IMG_PLANTTREES, STR_0288_PLANT_TREES}, |
1810 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_PLANTTREES, STR_0288_PLANT_TREES}, |
1776 { WWT_IMGBTN, RESIZE_NONE, 14, 562, 583, 0, 21, SPR_IMG_SIGN, STR_0289_PLACE_SIGN}, |
1811 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_SIGN, STR_0289_PLACE_SIGN}, |
1777 |
1812 |
1778 { WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL}, |
1813 { WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL}, |
1779 { WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL}, |
1814 { WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL}, |
1780 { WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL}, |
1815 { WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL}, |
1781 { WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL}, |
1816 { WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL}, |
1782 { WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL}, |
1817 { WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL}, |
1783 { WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL}, |
1818 { WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL}, |
1784 { WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL}, |
1819 { WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL}, |
1785 { WWT_IMGBTN, RESIZE_NONE, 14, 596, 617, 0, 21, SPR_IMG_MUSIC, STR_01D4_SHOW_SOUND_MUSIC_WINDOW}, |
1820 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_MUSIC, STR_01D4_SHOW_SOUND_MUSIC_WINDOW}, |
1786 { WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL}, |
1821 { WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL}, |
1787 { WWT_IMGBTN, RESIZE_NONE, 14, 618, 639, 0, 21, SPR_IMG_QUERY, STR_0186_LAND_BLOCK_INFORMATION}, |
1822 { WWT_IMGBTN, RESIZE_NONE, 14, 0, 0, 0, 21, SPR_IMG_QUERY, STR_0186_LAND_BLOCK_INFORMATION}, |
1788 {WIDGETS_END}, |
1823 {WIDGETS_END}, |
1789 }; |
1824 }; |
1790 |
1825 |
1791 static ToolbarButtonProc * const _scen_toolbar_button_procs[] = { |
1826 static ToolbarButtonProc * const _scen_toolbar_button_procs[] = { |
1792 ToolbarPauseClick, |
1827 ToolbarPauseClick, |
1830 GfxFillRect(0, 0, w->width-1, w->height-1, 0xB4 | (1 << PALETTE_MODIFIER_GREYOUT)); |
1865 GfxFillRect(0, 0, w->width-1, w->height-1, 0xB4 | (1 << PALETTE_MODIFIER_GREYOUT)); |
1831 |
1866 |
1832 DrawWindowWidgets(w); |
1867 DrawWindowWidgets(w); |
1833 |
1868 |
1834 SetDParam(0, ConvertYMDToDate(_patches_newgame.starting_year, 0, 1)); |
1869 SetDParam(0, ConvertYMDToDate(_patches_newgame.starting_year, 0, 1)); |
1835 DrawStringCentered(298, 6, STR_00AF, 0); |
1870 DrawStringCenteredTruncated(w->widget[6].right, w->widget[7].left, 6, STR_00AF, 0); |
1836 |
1871 |
1837 SetDParam(0, ConvertYMDToDate(_patches_newgame.starting_year, 0, 1)); |
1872 /* We hide this panel when the toolbar space gets too small */ |
1838 DrawStringCentered(161, 1, STR_0221_OPENTTD, 0); |
1873 if (w->widget[4].left != w->widget[4].right) { |
1839 DrawStringCentered(161, 11,STR_0222_SCENARIO_EDITOR, 0); |
1874 DrawStringCenteredTruncated(w->widget[4].left + 1, w->widget[4].right - 1, 1, STR_0221_OPENTTD, 0); |
1875 DrawStringCenteredTruncated(w->widget[4].left + 1, w->widget[4].right - 1, 11, STR_0222_SCENARIO_EDITOR, 0); |
|
1876 } |
|
1840 |
1877 |
1841 break; |
1878 break; |
1842 |
1879 |
1843 case WE_CLICK: { |
1880 case WE_CLICK: { |
1844 if (_game_mode == GM_MENU) return; |
1881 if (_game_mode == GM_MENU) return; |
1873 case WE_ABORT_PLACE_OBJ: { |
1910 case WE_ABORT_PLACE_OBJ: { |
1874 RaiseWindowWidget(w, 25); |
1911 RaiseWindowWidget(w, 25); |
1875 SetWindowDirty(w); |
1912 SetWindowDirty(w); |
1876 } break; |
1913 } break; |
1877 |
1914 |
1915 case WE_RESIZE: { |
|
1916 /* There are 15 buttons plus some spacings if the space allows it. |
|
1917 * Furthermore there are two panels of which one is non-essential |
|
1918 * and that one can be removed is the space is too small. */ |
|
1919 uint buttons_width; |
|
1920 uint spacing; |
|
1921 |
|
1922 static int normal_min_width = (15 * 22) + (2 * 130); |
|
1923 static int one_less_panel_min_width = (15 * 22) + 130; |
|
1924 |
|
1925 if (w->width >= one_less_panel_min_width) { |
|
1926 buttons_width = 15 * 22; |
|
1927 spacing = w->width - ((w->width >= normal_min_width) ? normal_min_width : one_less_panel_min_width); |
|
1928 } else { |
|
1929 buttons_width = w->width - 130; |
|
1930 spacing = 0; |
|
1931 } |
|
1932 uint extra_spacing_at[] = { 3, 4, 7, 8, 10, 16, 0 }; |
|
1933 |
|
1934 /* Yes, it defines about 27 widgets for this toolbar */ |
|
1935 for (uint i = 0, x = 0, j = 0, b = 0; i < 27; i++) { |
|
1936 switch (i) { |
|
1937 case 4: |
|
1938 w->widget[i].left = x; |
|
1939 if (w->width < normal_min_width) { |
|
1940 w->widget[i].right = x; |
|
1941 j++; |
|
1942 continue; |
|
1943 } |
|
1944 |
|
1945 x += 130; |
|
1946 w->widget[i].right = x - 1; |
|
1947 break; |
|
1948 |
|
1949 case 5: { |
|
1950 int offset = x - w->widget[i].left; |
|
1951 w->widget[i + 1].left += offset; |
|
1952 w->widget[i + 1].right += offset; |
|
1953 w->widget[i + 2].left += offset; |
|
1954 w->widget[i + 2].right += offset; |
|
1955 w->widget[i].left = x; |
|
1956 x += 130; |
|
1957 w->widget[i].right = x - 1; |
|
1958 i += 2; |
|
1959 } break; |
|
1960 |
|
1961 default: |
|
1962 if (w->widget[i].bottom == 0) continue; |
|
1963 |
|
1964 w->widget[i].left = x; |
|
1965 x += buttons_width / (15 - b); |
|
1966 w->widget[i].right = x - 1; |
|
1967 buttons_width -= buttons_width / (15 - b); |
|
1968 b++; |
|
1969 break; |
|
1970 } |
|
1971 |
|
1972 if (extra_spacing_at[j] == i) { |
|
1973 j++; |
|
1974 uint add = spacing / (lengthof(extra_spacing_at) - j); |
|
1975 spacing -= add; |
|
1976 x += add; |
|
1977 } |
|
1978 } |
|
1979 } break; |
|
1980 |
|
1878 case WE_MOUSELOOP: |
1981 case WE_MOUSELOOP: |
1879 if (IsWindowWidgetLowered(w, 0) != !!_pause_game) { |
1982 if (IsWindowWidgetLowered(w, 0) != !!_pause_game) { |
1880 ToggleWidgetLoweredState(w, 0); |
1983 ToggleWidgetLoweredState(w, 0); |
1881 SetWindowDirty(w); |
1984 SetWindowDirty(w); |
1882 } |
1985 } |
1892 break; |
1995 break; |
1893 } |
1996 } |
1894 } |
1997 } |
1895 |
1998 |
1896 static const WindowDesc _toolb_scen_desc = { |
1999 static const WindowDesc _toolb_scen_desc = { |
1897 0, 0, 640, 22, |
2000 0, 0, 130, 22, 640, 22, |
1898 WC_MAIN_TOOLBAR, WC_NONE, |
2001 WC_MAIN_TOOLBAR, WC_NONE, |
1899 WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS, |
2002 WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS, |
1900 _toolb_scen_widgets, |
2003 _toolb_scen_widgets, |
1901 ScenEditToolbarWndProc |
2004 ScenEditToolbarWndProc |
1902 }; |
2005 }; |
1903 |
2006 |
1904 extern GetNewsStringCallbackProc * const _get_news_string_callback[]; |
2007 extern GetNewsStringCallbackProc * const _get_news_string_callback[]; |
1905 |
2008 |
1906 |
2009 |
1907 static bool DrawScrollingStatusText(const NewsItem *ni, int pos) |
2010 static bool DrawScrollingStatusText(const NewsItem *ni, int pos, int width) |
1908 { |
2011 { |
1909 char buf[512]; |
2012 char buf[512]; |
1910 StringID str; |
2013 StringID str; |
1911 const char *s; |
2014 const char *s; |
1912 char *d; |
2015 char *d; |
1937 } else if (IsPrintable(c)) { |
2040 } else if (IsPrintable(c)) { |
1938 d += Utf8Encode(d, c); |
2041 d += Utf8Encode(d, c); |
1939 } |
2042 } |
1940 } |
2043 } |
1941 |
2044 |
1942 if (!FillDrawPixelInfo(&tmp_dpi, 141, 1, 358, 11)) return true; |
2045 if (!FillDrawPixelInfo(&tmp_dpi, 141, 1, width, 11)) return true; |
1943 |
2046 |
1944 old_dpi = _cur_dpi; |
2047 old_dpi = _cur_dpi; |
1945 _cur_dpi = &tmp_dpi; |
2048 _cur_dpi = &tmp_dpi; |
1946 |
2049 |
1947 x = DoDrawString(buffer, pos, 0, 13); |
2050 x = DoDrawString(buffer, pos, 0, 13); |
1963 ); |
2066 ); |
1964 |
2067 |
1965 if (p != NULL) { |
2068 if (p != NULL) { |
1966 /* Draw player money */ |
2069 /* Draw player money */ |
1967 SetDParam(0, p->player_money); |
2070 SetDParam(0, p->player_money); |
1968 DrawStringCentered(570, 1, p->player_money >= 0 ? STR_0004 : STR_0005, 0); |
2071 DrawStringCentered(w->widget[2].left + 70, 1, p->player_money >= 0 ? STR_0004 : STR_0005, 0); |
1969 } |
2072 } |
1970 |
2073 |
1971 /* Draw status bar */ |
2074 /* Draw status bar */ |
1972 if (w->message.msg) { // true when saving is active |
2075 if (w->message.msg) { // true when saving is active |
1973 DrawStringCentered(320, 1, STR_SAVING_GAME, 0); |
2076 DrawStringCenteredTruncated(w->widget[1].left + 1, w->widget[1].right - 1, 1, STR_SAVING_GAME, 0); |
1974 } else if (_do_autosave) { |
2077 } else if (_do_autosave) { |
1975 DrawStringCentered(320, 1, STR_032F_AUTOSAVE, 0); |
2078 DrawStringCenteredTruncated(w->widget[1].left + 1, w->widget[1].right - 1, 1, STR_032F_AUTOSAVE, 0); |
1976 } else if (_pause_game) { |
2079 } else if (_pause_game) { |
1977 DrawStringCentered(320, 1, STR_0319_PAUSED, 0); |
2080 DrawStringCenteredTruncated(w->widget[1].left + 1, w->widget[1].right - 1, 1, STR_0319_PAUSED, 0); |
1978 } else if (WP(w,def_d).data_1 > -1280 && FindWindowById(WC_NEWS_WINDOW,0) == NULL && _statusbar_news_item.string_id != 0) { |
2081 } else if (WP(w,def_d).data_1 > -1280 && FindWindowById(WC_NEWS_WINDOW,0) == NULL && _statusbar_news_item.string_id != 0) { |
1979 /* Draw the scrolling news text */ |
2082 /* Draw the scrolling news text */ |
1980 if (!DrawScrollingStatusText(&_statusbar_news_item, WP(w,def_d).data_1)) |
2083 if (!DrawScrollingStatusText(&_statusbar_news_item, WP(w,def_d).data_1, w->widget[1].right - w->widget[1].left - 2)) { |
1981 WP(w,def_d).data_1 = -1280; |
2084 WP(w,def_d).data_1 = -1280; |
2085 if (p != NULL) { |
|
2086 /* This is the default text */ |
|
2087 SetDParam(0, p->index); |
|
2088 DrawStringCenteredTruncated(w->widget[1].left + 1, w->widget[1].right - 1, 1, STR_02BA, 0); |
|
2089 } |
|
2090 } |
|
1982 } else { |
2091 } else { |
1983 if (p != NULL) { |
2092 if (p != NULL) { |
1984 /* This is the default text */ |
2093 /* This is the default text */ |
1985 SetDParam(0, p->index); |
2094 SetDParam(0, p->index); |
1986 DrawStringCentered(320, 1, STR_02BA, 0); |
2095 DrawStringCenteredTruncated(w->widget[1].left + 1, w->widget[1].right - 1, 1, STR_02BA, 0); |
1987 } |
2096 } |
1988 } |
2097 } |
1989 |
2098 |
1990 if (WP(w, def_d).data_2 > 0) DrawSprite(SPR_BLOT, PALETTE_TO_RED, 489, 2); |
2099 if (WP(w, def_d).data_2 > 0) DrawSprite(SPR_BLOT, PALETTE_TO_RED, w->widget[1].right - 11, 2); |
1991 } break; |
2100 } break; |
1992 |
2101 |
1993 case WE_MESSAGE: |
2102 case WE_MESSAGE: |
1994 w->message.msg = e->we.message.msg; |
2103 w->message.msg = e->we.message.msg; |
1995 SetWindowDirty(w); |
2104 SetWindowDirty(w); |
2023 } |
2132 } |
2024 } |
2133 } |
2025 |
2134 |
2026 static const Widget _main_status_widgets[] = { |
2135 static const Widget _main_status_widgets[] = { |
2027 { WWT_PANEL, RESIZE_NONE, 14, 0, 139, 0, 11, 0x0, STR_NULL}, |
2136 { WWT_PANEL, RESIZE_NONE, 14, 0, 139, 0, 11, 0x0, STR_NULL}, |
2028 { WWT_PUSHBTN, RESIZE_NONE, 14, 140, 499, 0, 11, 0x0, STR_02B7_SHOW_LAST_MESSAGE_OR_NEWS}, |
2137 { WWT_PUSHBTN, RESIZE_RIGHT, 14, 140, 179, 0, 11, 0x0, STR_02B7_SHOW_LAST_MESSAGE_OR_NEWS}, |
2029 { WWT_PUSHBTN, RESIZE_NONE, 14, 500, 639, 0, 11, 0x0, STR_NULL}, |
2138 { WWT_PUSHBTN, RESIZE_LR, 14, 180, 319, 0, 11, 0x0, STR_NULL}, |
2030 { WIDGETS_END}, |
2139 { WIDGETS_END}, |
2031 }; |
2140 }; |
2032 |
2141 |
2033 static WindowDesc _main_status_desc = { |
2142 static WindowDesc _main_status_desc = { |
2034 WDP_CENTER, 0, 640, 12, |
2143 WDP_CENTER, 0, 320, 12, 640, 12, |
2035 WC_STATUS_BAR, WC_NONE, |
2144 WC_STATUS_BAR, WC_NONE, |
2036 WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS, |
2145 WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS, |
2037 _main_status_widgets, |
2146 _main_status_widgets, |
2038 StatusBarWndProc |
2147 StatusBarWndProc |
2039 }; |
2148 }; |