tron@2186: /* $Id$ */ tron@2186: belugas@6179: /** @file gui.h */ belugas@6179: truelight@0: #ifndef GUI_H truelight@0: #define GUI_H truelight@0: tron@2466: #include "station.h" darkvater@175: #include "window.h" truelight@4299: #include "string.h" darkvater@175: belugas@6179: /* main_gui.cpp */ rubidium@6247: void SetupColorsAndInitialWindow(); tron@1977: void CcPlaySound10(bool success, TileIndex tile, uint32 p1, uint32 p2); tron@1977: void CcBuildCanal(bool success, TileIndex tile, uint32 p1, uint32 p2); tron@1977: void CcTerraform(bool success, TileIndex tile, uint32 p1, uint32 p2); truelight@0: belugas@6179: /* settings_gui.cpp */ rubidium@6247: void ShowGameOptions(); rubidium@6247: void ShowGameDifficulty(); rubidium@6247: void ShowPatchesSelection(); miham@4211: void DrawArrowButtons(int x, int y, int ctab, byte state, bool clickable_left, bool clickable_right); truelight@0: belugas@6179: /* graph_gui.cpp */ rubidium@6247: void ShowOperatingProfitGraph(); rubidium@6247: void ShowIncomeGraph(); rubidium@6247: void ShowDeliveredCargoGraph(); rubidium@6247: void ShowPerformanceHistoryGraph(); rubidium@6247: void ShowCompanyValueGraph(); rubidium@6247: void ShowCargoPaymentRates(); rubidium@6247: void ShowCompanyLeagueTable(); rubidium@6247: void ShowPerformanceRatingDetail(); truelight@0: belugas@6179: /* news_gui.cpp */ rubidium@6247: void ShowLastNewsMessage(); rubidium@6247: void ShowMessageOptions(); rubidium@6247: void ShowMessageHistory(); truelight@0: belugas@6179: /* rail_gui.cpp */ tron@2520: void ShowBuildRailToolbar(RailType railtype, int button); tron@1977: void PlaceProc_BuyLand(TileIndex tile); KUDr@5116: void ReinitGuiAfterToggleElrail(bool disable); truelight@0: belugas@6179: /* train_gui.cpp */ tron@2561: void ShowTrainViewWindow(const Vehicle *v); belugas@4171: void ShowOrdersWindow(const Vehicle *v); truelight@0: belugas@6179: /* road_gui.cpp */ rubidium@6247: void ShowBuildRoadToolbar(); rubidium@6247: void ShowBuildRoadScenToolbar(); bjarni@4408: void ShowRoadVehViewWindow(const Vehicle *v); truelight@0: belugas@6179: /* dock_gui.cpp */ rubidium@6247: void ShowBuildDocksToolbar(); belugas@4171: void ShowShipViewWindow(const Vehicle *v); truelight@0: belugas@6179: /* aircraft_gui.cpp */ rubidium@6247: void ShowBuildAirToolbar(); truelight@0: belugas@6179: /* terraform_gui.cpp */ tron@5860: void ShowTerraformToolbar(Window *link = NULL); Darkvater@1632: belugas@6179: /* tgp_gui.cpp */ rubidium@6247: void ShowGenerateLandscape(); rubidium@6247: void ShowHeightmapLoad(); truelight@4300: tron@1977: void PlaceProc_DemolishArea(TileIndex tile); tron@1977: void PlaceProc_LevelLand(TileIndex tile); belugas@4634: bool GUIPlaceProcDragXY(const WindowEvent *e); Darkvater@1632: Darkvater@1632: enum { // max 32 - 4 = 28 types Darkvater@1632: GUI_PlaceProc_DemolishArea = 0 << 4, Darkvater@1632: GUI_PlaceProc_LevelArea = 1 << 4, Darkvater@1632: GUI_PlaceProc_DesertArea = 2 << 4, Darkvater@1632: GUI_PlaceProc_WaterArea = 3 << 4, Darkvater@2615: GUI_PlaceProc_ConvertRailArea = 4 << 4, Darkvater@2615: GUI_PlaceProc_RockyArea = 5 << 4, Darkvater@1632: }; truelight@0: belugas@6179: /* misc_gui.cpp */ rubidium@6247: void PlaceLandBlockInfo(); rubidium@6247: void ShowAboutWindow(); rubidium@6247: void ShowBuildTreesToolbar(); rubidium@6247: void ShowBuildTreesScenToolbar(); rubidium@6247: void ShowTownDirectory(); rubidium@6247: void ShowIndustryDirectory(); rubidium@6247: void ShowSubsidiesList(); tron@2475: void ShowPlayerStations(PlayerID player); tron@2475: void ShowPlayerFinances(PlayerID player); tron@2475: void ShowPlayerCompany(PlayerID player); truelight@0: truelight@0: void ShowEstimatedCostOrIncome(int32 cost, int x, int y); truelight@0: void ShowErrorMessage(StringID msg_1, StringID msg_2, int x, int y); truelight@0: Celestar@568: void DrawStationCoverageAreaText(int sx, int sy, uint mask,int rad); belugas@4171: void CheckRedrawStationCoverage(const Window *w); truelight@0: rubidium@6247: void ShowSmallMap(); rubidium@6247: void ShowExtraViewPortWindow(); truelight@0: void SetVScrollCount(Window *w, int num); bjarni@842: void SetVScroll2Count(Window *w, int num); truelight@0: void SetHScrollCount(Window *w, int num); truelight@0: rubidium@6247: void ShowCheatWindow(); truelight@0: Darkvater@2887: void DrawEditBox(Window *w, querystr_d *string, int wid); Darkvater@2887: void HandleEditBox(Window *w, querystr_d *string, int wid); Darkvater@4909: int HandleEditBoxKey(Window *w, querystr_d *string, int wid, WindowEvent *we); Darkvater@1390: bool HandleCaret(Textbuf *tb); Darkvater@1390: Darkvater@1879: void DeleteTextBufferAll(Textbuf *tb); Darkvater@1390: bool DeleteTextBufferChar(Textbuf *tb, int delmode); peter1138@5108: bool InsertTextBufferChar(Textbuf *tb, uint32 key); Darkvater@1390: bool InsertTextBufferClipboard(Textbuf *tb); Darkvater@1390: bool MoveTextBufferPos(Textbuf *tb, int navmode); Darkvater@4948: void InitializeTextBuffer(Textbuf *tb, const char *buf, uint16 maxlength, uint16 maxwidth); Darkvater@1390: void UpdateTextBufferSize(Textbuf *tb); truelight@0: rubidium@6247: void BuildFileList(); truelight@543: void SetFiosType(const byte fiostype); truelight@543: rubidium@4434: /* FIOS_TYPE_FILE, FIOS_TYPE_OLDFILE etc. different colours */ ludde@2261: extern const byte _fios_colors[]; truelight@0: belugas@6179: /* bridge_gui.cpp */ truelight@0: void ShowBuildBridgeWindow(uint start, uint end, byte type); truelight@0: rubidium@6247: void ShowBuildIndustryWindow(); Darkvater@5431: void ShowQueryString(StringID str, StringID caption, uint maxlen, uint maxwidth, Window *parent, CharSetFilter afilter); Darkvater@5418: void ShowQuery(StringID caption, StringID message, Window *w, void (*callback)(Window*, bool)); rubidium@6247: void ShowMusicWindow(); truelight@0: belugas@6179: /* main_gui.cpp */ Darkvater@5431: void HandleOnEditText(const char *str); rubidium@5587: VARDEF bool _station_show_coverage; truelight@0: VARDEF PlaceProc *_place_proc; truelight@0: belugas@6179: /* vehicle_gui.cpp */ rubidium@6247: void InitializeGUI(); darkvater@1246: truelight@0: #endif /* GUI_H */