(svn r11668) -Codechange: more refactoring aimed at reducing compile time and making it more logic where function definitions can be found.
authorrubidium
Wed, 19 Dec 2007 20:45:46 +0000
changeset 8603 88c5ce6a5215
parent 8602 9e75e594a068
child 8604 8afdd9877afd
(svn r11668) -Codechange: more refactoring aimed at reducing compile time and making it more logic where function definitions can be found.
src/airport_gui.cpp
src/bridge_gui.cpp
src/build_vehicle_gui.cpp
src/command.cpp
src/console.cpp
src/depot_gui.cpp
src/dock_gui.cpp
src/engine_gui.cpp
src/genworld.cpp
src/genworld_gui.cpp
src/graph_gui.cpp
src/group_gui.cpp
src/gui.h
src/industry_gui.cpp
src/intro_gui.cpp
src/main_gui.cpp
src/misc_cmd.cpp
src/misc_gui.cpp
src/network/network_gui.cpp
src/newgrf_gui.cpp
src/news_gui.cpp
src/openttd.cpp
src/order_gui.cpp
src/player_gui.cpp
src/rail_gui.cpp
src/road_gui.cpp
src/roadveh_gui.cpp
src/saveload.cpp
src/settings.cpp
src/settings_gui.cpp
src/ship_gui.cpp
src/signs_gui.cpp
src/smallmap_gui.cpp
src/station_gui.cpp
src/station_gui.h
src/terraform_gui.cpp
src/textbuf_gui.h
src/timetable_gui.cpp
src/town_gui.cpp
src/train_gui.cpp
src/transparency_gui.cpp
src/unix.cpp
src/vehicle_gui.cpp
src/win32.cpp
src/window_func.h
src/window_gui.h
src/window_type.h
--- a/src/airport_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/airport_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -8,7 +8,9 @@
 #include "table/strings.h"
 #include "functions.h"
 #include "map.h"
+#include "window_gui.h"
 #include "gui.h"
+#include "station_gui.h"
 #include "viewport.h"
 #include "gfx.h"
 #include "sound.h"
--- a/src/bridge_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/bridge_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -9,6 +9,7 @@
 #include "functions.h"
 #include "map.h"
 #include "gui.h"
+#include "window_gui.h"
 #include "viewport.h"
 #include "gfx.h"
 #include "command.h"
--- a/src/build_vehicle_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/build_vehicle_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -16,6 +16,7 @@
 #include "vehicle.h"
 #include "articulated_vehicles.h"
 #include "gfx.h"
+#include "textbuf_gui.h"
 #include "station.h"
 #include "command.h"
 #include "engine.h"
--- a/src/command.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/command.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -16,6 +16,7 @@
 #include "variables.h"
 #include "genworld.h"
 #include "newgrf_storage.h"
+#include "tile.h"
 
 const char *_cmd_text = NULL;
 
--- a/src/console.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/console.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -7,6 +7,8 @@
 #include "table/strings.h"
 #include "functions.h"
 #include "gui.h"
+#include "textbuf_gui.h"
+#include "window_gui.h"
 #include "gfx.h"
 #include "player.h"
 #include "variables.h"
--- a/src/depot_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/depot_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -13,6 +13,7 @@
 #include "strings.h"
 #include "table/sprites.h"
 #include "gui.h"
+#include "textbuf_gui.h"
 #include "gfx.h"
 #include "vehicle.h"
 #include "viewport.h"
--- a/src/dock_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/dock_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -10,6 +10,8 @@
 #include "map.h"
 #include "station.h"
 #include "gui.h"
+#include "window_gui.h"
+#include "station_gui.h"
 #include "viewport.h"
 #include "gfx.h"
 #include "sound.h"
--- a/src/engine_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/engine_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -9,6 +9,7 @@
 #include "table/sprites.h"
 #include "functions.h"
 #include "gui.h"
+#include "window_gui.h"
 #include "viewport.h"
 #include "gfx.h"
 #include "engine.h"
--- a/src/genworld.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/genworld.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -14,7 +14,7 @@
 #include "genworld.h"
 #include "gfx.h"
 #include "gfxinit.h"
-#include "gui.h"
+#include "window_func.h"
 #include "network/network.h"
 #include "debug.h"
 #include "settings.h"
--- a/src/genworld_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/genworld_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -9,7 +9,10 @@
 #include "table/strings.h"
 #include "table/sprites.h"
 #include "gui.h"
+#include "window_gui.h"
+#include "textbuf_gui.h"
 #include "gfx.h"
+#include "tile.h"
 #include "strings.h"
 #include "gfxinit.h"
 #include "player.h"
--- a/src/graph_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/graph_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -9,6 +9,7 @@
 #include "table/sprites.h"
 #include "functions.h"
 #include "gui.h"
+#include "window_gui.h"
 #include "gfx.h"
 #include "player.h"
 #include "economy.h"
--- a/src/group_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/group_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -8,6 +8,8 @@
 #include "table/strings.h"
 #include "table/sprites.h"
 #include "gui.h"
+#include "window_gui.h"
+#include "textbuf_gui.h"
 #include "gfx.h"
 #include "vehicle.h"
 #include "command.h"
--- a/src/gui.h	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/gui.h	Wed Dec 19 20:45:46 2007 +0000
@@ -5,12 +5,13 @@
 #ifndef GUI_H
 #define GUI_H
 
-#include "station.h"
-#include "window_gui.h"
 #include "string.h"
+#include "window_type.h"
+#include "rail_type.h"
+#include "road_type.h"
+#include "vehicle.h"
 
 /* main_gui.cpp */
-void SetupColorsAndInitialWindow();
 void CcPlaySound10(bool success, TileIndex tile, uint32 p1, uint32 p2);
 void CcBuildCanal(bool success, TileIndex tile, uint32 p1, uint32 p2);
 void CcTerraform(bool success, TileIndex tile, uint32 p1, uint32 p2);
@@ -106,15 +107,6 @@
 void ShowEstimatedCostOrIncome(Money cost, int x, int y);
 void ShowErrorMessage(StringID msg_1, StringID msg_2, int x, int y);
 
-enum StationCoverageType {
-	SCT_PASSENGERS_ONLY,
-	SCT_NON_PASSENGERS_ONLY,
-	SCT_ALL
-};
-
-void DrawStationCoverageAreaText(int sx, int sy, StationCoverageType sct, int rad);
-void CheckRedrawStationCoverage(const Window *w);
-
 void ShowSmallMap();
 void ShowExtraViewPortWindow();
 void SetVScrollCount(Window *w, int num);
@@ -123,19 +115,6 @@
 
 void ShowCheatWindow();
 
-void DrawEditBox(Window *w, querystr_d *string, int wid);
-void HandleEditBox(Window *w, querystr_d *string, int wid);
-int HandleEditBoxKey(Window *w, querystr_d *string, int wid, WindowEvent *we);
-bool HandleCaret(Textbuf *tb);
-
-void DeleteTextBufferAll(Textbuf *tb);
-bool DeleteTextBufferChar(Textbuf *tb, int delmode);
-bool InsertTextBufferChar(Textbuf *tb, uint32 key);
-bool InsertTextBufferClipboard(Textbuf *tb);
-bool MoveTextBufferPos(Textbuf *tb, int navmode);
-void InitializeTextBuffer(Textbuf *tb, const char *buf, uint16 maxlength, uint16 maxwidth);
-void UpdateTextBufferSize(Textbuf *tb);
-
 void BuildFileList();
 void SetFiosType(const byte fiostype);
 
@@ -146,8 +125,6 @@
 void ShowBuildBridgeWindow(uint start, uint end, byte type);
 
 void ShowBuildIndustryWindow();
-void ShowQueryString(StringID str, StringID caption, uint maxlen, uint maxwidth, Window *parent, CharSetFilter afilter);
-void ShowQuery(StringID caption, StringID message, Window *w, void (*callback)(Window*, bool));
 void ShowMusicWindow();
 
 /* main_gui.cpp */
--- a/src/industry_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/industry_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -11,6 +11,8 @@
 #include "table/sprites.h"
 #include "map.h"
 #include "gui.h"
+#include "window_gui.h"
+#include "textbuf_gui.h"
 #include "gfx.h"
 #include "command.h"
 #include "viewport.h"
--- a/src/intro_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/intro_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -9,6 +9,8 @@
 #include "table/sprites.h"
 #include "functions.h"
 #include "gui.h"
+#include "window_gui.h"
+#include "textbuf_gui.h"
 #include "gfx.h"
 #include "player.h"
 #include "network/network.h"
--- a/src/main_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/main_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -15,6 +15,9 @@
 #include "map.h"
 #include "tile.h"
 #include "gui.h"
+#include "window_gui.h"
+#include "window_func.h"
+#include "textbuf_gui.h"
 #include "viewport.h"
 #include "gfx.h"
 #include "player.h"
--- a/src/misc_cmd.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/misc_cmd.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -11,6 +11,8 @@
 #include "player.h"
 #include "gfx.h"
 #include "gui.h"
+#include "window_func.h"
+#include "textbuf_gui.h"
 #include "economy.h"
 #include "network/network.h"
 #include "variables.h"
--- a/src/misc_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/misc_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -18,6 +18,9 @@
 #include "table/tree_land.h"
 #include "map.h"
 #include "gui.h"
+#include "window_gui.h"
+#include "station_gui.h"
+#include "textbuf_gui.h"
 #include "viewport.h"
 #include "gfx.h"
 #include "station.h"
--- a/src/network/network_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/network/network_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -17,6 +17,8 @@
 #include "network_gui.h"
 #include "network_gamelist.h"
 #include "../gui.h"
+#include "../window_gui.h"
+#include "../textbuf_gui.h"
 #include "../gfx.h"
 #include "../command.h"
 #include "../variables.h"
@@ -31,6 +33,11 @@
 #define BGC 5
 #define BTC 15
 
+struct chatquerystr_d : public querystr_d {
+	int dest;
+};
+assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(chatquerystr_d));
+
 struct network_d {
 	PlayerID company;        // select company in network lobby
 	byte field;              // select text-field in start-server and game-listing
--- a/src/newgrf_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/newgrf_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -8,6 +8,8 @@
 #include "variables.h"
 #include "gfx.h"
 #include "gui.h"
+#include "window_gui.h"
+#include "textbuf_gui.h"
 #include "table/strings.h"
 #include "table/sprites.h"
 #include "newgrf.h"
--- a/src/news_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/news_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -8,6 +8,7 @@
 #include "table/sprites.h"
 #include "table/strings.h"
 #include "gui.h"
+#include "window_gui.h"
 #include "viewport.h"
 #include "gfx.h"
 #include "news.h"
--- a/src/openttd.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/openttd.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -31,6 +31,7 @@
 #include "tunnel_map.h"
 #include "vehicle.h"
 #include "viewport.h"
+#include "window_func.h"
 #include "window_gui.h"
 #include "player.h"
 #include "command.h"
--- a/src/order_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/order_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -13,6 +13,7 @@
 #include "map.h"
 #include "tile.h"
 #include "gui.h"
+#include "window_gui.h"
 #include "gfx.h"
 #include "vehicle.h"
 #include "station.h"
--- a/src/player_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/player_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -9,6 +9,8 @@
 #include "strings.h"
 #include "functions.h"
 #include "gui.h"
+#include "window_gui.h"
+#include "textbuf_gui.h"
 #include "viewport.h"
 #include "gfx.h"
 #include "player.h"
--- a/src/rail_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/rail_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -13,6 +13,8 @@
 #include "map.h"
 #include "tile.h"
 #include "gui.h"
+#include "window_gui.h"
+#include "station_gui.h"
 #include "viewport.h"
 #include "gfx.h"
 #include "sound.h"
--- a/src/road_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/road_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -11,6 +11,8 @@
 #include "map.h"
 #include "tile.h"
 #include "gui.h"
+#include "window_gui.h"
+#include "station_gui.h"
 #include "viewport.h"
 #include "gfx.h"
 #include "sound.h"
--- a/src/roadveh_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/roadveh_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -10,6 +10,7 @@
 #include "table/sprites.h"
 #include "table/strings.h"
 #include "gui.h"
+#include "window_gui.h"
 #include "strings.h"
 #include "vehicle.h"
 #include "viewport.h"
--- a/src/saveload.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/saveload.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -27,6 +27,7 @@
 #include "variables.h"
 #include "table/strings.h"
 #include "strings.h"
+#include "window_func.h"
 #include <list>
 
 extern const uint16 SAVEGAME_VERSION = 83;
--- a/src/settings.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/settings.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -44,6 +44,7 @@
 #include "train.h"
 #include "helpers.hpp"
 #include "news.h"
+#include "window_func.h"
 #ifdef WITH_FREETYPE
 #include "gfx.h"
 #include "fontcache.h"
--- a/src/settings_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/settings_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -11,6 +11,8 @@
 #include "table/sprites.h"
 #include "table/strings.h"
 #include "gui.h"
+#include "window_gui.h"
+#include "textbuf_gui.h"
 #include "gfx.h"
 #include "command.h"
 #include "engine.h"
--- a/src/ship_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/ship_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -11,6 +11,7 @@
 #include "strings.h"
 #include "table/sprites.h"
 #include "gui.h"
+#include "window_gui.h"
 #include "vehicle.h"
 #include "viewport.h"
 #include "command.h"
--- a/src/signs_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/signs_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -8,6 +8,8 @@
 #include "table/sprites.h"
 #include "functions.h"
 #include "gui.h"
+#include "textbuf_gui.h"
+#include "window_gui.h"
 #include "gfx.h"
 #include "player.h"
 #include "signs.h"
--- a/src/smallmap_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/smallmap_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -17,6 +17,7 @@
 #include "map.h"
 #include "tile.h"
 #include "gui.h"
+#include "window_gui.h"
 #include "tree_map.h"
 #include "tunnel_map.h"
 #include "gfx.h"
--- a/src/station_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/station_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -9,6 +9,8 @@
 #include "strings.h"
 #include "table/strings.h"
 #include "gui.h"
+#include "window_gui.h"
+#include "textbuf_gui.h"
 #include "station.h"
 #include "gfx.h"
 #include "player.h"
--- a/src/station_gui.h	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/station_gui.h	Wed Dec 19 20:45:46 2007 +0000
@@ -52,4 +52,13 @@
 void RebuildStationLists();
 void ResortStationLists();
 
+enum StationCoverageType {
+	SCT_PASSENGERS_ONLY,
+	SCT_NON_PASSENGERS_ONLY,
+	SCT_ALL
+};
+
+void DrawStationCoverageAreaText(int sx, int sy, StationCoverageType sct, int rad);
+void CheckRedrawStationCoverage(const Window *w);
+
 #endif /* STATION_GUI_H */
--- a/src/terraform_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/terraform_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -12,6 +12,7 @@
 #include "player.h"
 #include "tile.h"
 #include "gui.h"
+#include "window_gui.h"
 #include "viewport.h"
 #include "gfx.h"
 #include "sound.h"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/textbuf_gui.h	Wed Dec 19 20:45:46 2007 +0000
@@ -0,0 +1,45 @@
+/* $Id$ */
+
+/** @file textbuf_gui.h Stuff related to the text buffer GUI. */
+
+#ifndef TEXTBUF_GUI_H
+#define TEXTBUF_GUI_H
+
+#include "window_type.h"
+
+struct Textbuf {
+	char *buf;                  ///< buffer in which text is saved
+	uint16 maxlength, maxwidth; ///< the maximum size of the buffer. Maxwidth specifies screensize in pixels, maxlength is in bytes
+	uint16 length, width;       ///< the current size of the string. Width specifies screensize in pixels, length is in bytes
+	bool caret;                 ///< is the caret ("_") visible or not
+	uint16 caretpos;            ///< the current position of the caret in the buffer, in bytes
+	uint16 caretxoffs;          ///< the current position of the caret in pixels
+};
+
+struct querystr_d {
+	StringID caption;
+	Textbuf text;
+	const char *orig;
+	CharSetFilter afilter;
+	bool handled;
+};
+assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(querystr_d));
+
+
+void DrawEditBox(Window *w, querystr_d *string, int wid);
+void HandleEditBox(Window *w, querystr_d *string, int wid);
+int HandleEditBoxKey(Window *w, querystr_d *string, int wid, WindowEvent *we);
+bool HandleCaret(Textbuf *tb);
+
+void DeleteTextBufferAll(Textbuf *tb);
+bool DeleteTextBufferChar(Textbuf *tb, int delmode);
+bool InsertTextBufferChar(Textbuf *tb, uint32 key);
+bool InsertTextBufferClipboard(Textbuf *tb);
+bool MoveTextBufferPos(Textbuf *tb, int navmode);
+void InitializeTextBuffer(Textbuf *tb, const char *buf, uint16 maxlength, uint16 maxwidth);
+void UpdateTextBufferSize(Textbuf *tb);
+
+void ShowQueryString(StringID str, StringID caption, uint maxlen, uint maxwidth, Window *parent, CharSetFilter afilter);
+void ShowQuery(StringID caption, StringID message, Window *w, void (*callback)(Window*, bool));
+
+#endif /* TEXTBUF_GUI_H */
--- a/src/timetable_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/timetable_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -12,6 +12,8 @@
 #include "date.h"
 #include "engine.h"
 #include "gui.h"
+#include "window_gui.h"
+#include "textbuf_gui.h"
 #include "string.h"
 #include "vehicle.h"
 #include "cargotype.h"
--- a/src/town_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/town_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -13,6 +13,8 @@
 #include "gfx.h"
 #include "viewport.h"
 #include "gui.h"
+#include "window_gui.h"
+#include "textbuf_gui.h"
 #include "command.h"
 #include "player.h"
 #include "network/network.h"
--- a/src/train_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/train_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -10,6 +10,7 @@
 #include "table/strings.h"
 #include "strings.h"
 #include "gui.h"
+#include "window_gui.h"
 #include "vehicle.h"
 #include "viewport.h"
 #include "command.h"
--- a/src/transparency_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/transparency_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -6,6 +6,7 @@
 #include "table/strings.h"
 #include "functions.h"
 #include "gui.h"
+#include "window_gui.h"
 #include "viewport.h"
 #include "gfx.h"
 #include "sound.h"
--- a/src/unix.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/unix.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -8,7 +8,7 @@
 #include "string.h"
 #include "table/strings.h"
 #include "variables.h"
-#include "gui.h"
+#include "textbuf_gui.h"
 
 #include <dirent.h>
 #include <unistd.h>
--- a/src/vehicle_gui.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/vehicle_gui.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -14,6 +14,8 @@
 #include "vehicle.h"
 #include "engine.h"
 #include "gui.h"
+#include "window_gui.h"
+#include "textbuf_gui.h"
 #include "command.h"
 #include "gfx.h"
 #include "variables.h"
--- a/src/win32.cpp	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/win32.cpp	Wed Dec 19 20:45:46 2007 +0000
@@ -11,6 +11,7 @@
 #include "saveload.h"
 #include "string.h"
 #include "gfx.h"
+#include "textbuf_gui.h"
 #include "fileio.h"
 #include <windows.h>
 #include <winnt.h>
--- a/src/window_func.h	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/window_func.h	Wed Dec 19 20:45:46 2007 +0000
@@ -22,10 +22,12 @@
 void ChangeWindowOwner(PlayerID old_player, PlayerID new_player);
 
 void ResizeWindow(Window *w, int x, int y);
+int PositionMainToolbar(Window *w);
 
 void InitWindowSystem();
 void UnInitWindowSystem();
 void ResetWindowSystem();
+void SetupColorsAndInitialWindow();
 void InputLoop();
 void InvalidateThisWindowData(Window *w);
 void InvalidateWindowData(WindowClass cls, WindowNumber number);
--- a/src/window_gui.h	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/window_gui.h	Wed Dec 19 20:45:46 2007 +0000
@@ -19,8 +19,6 @@
  */
 static const int MAX_NUMBER_OF_WINDOWS = 25;
 
-struct WindowEvent;
-
 typedef void WindowProc(Window *w, WindowEvent *e);
 
 /* How the resize system works:
@@ -228,20 +226,7 @@
 	WDP_ALIGN_TBL = -4, ///< Align the left side of the window with the left side of the main toolbar
 };
 
-struct Textbuf {
-	char *buf;                  ///< buffer in which text is saved
-	uint16 maxlength, maxwidth; ///< the maximum size of the buffer. Maxwidth specifies screensize in pixels, maxlength is in bytes
-	uint16 length, width;       ///< the current size of the string. Width specifies screensize in pixels, length is in bytes
-	bool caret;                 ///< is the caret ("_") visible or not
-	uint16 caretpos;            ///< the current position of the caret in the buffer, in bytes
-	uint16 caretxoffs;          ///< the current position of the caret in pixels
-};
-
 #define WP(ptr, str) (*(str*)(ptr)->custom)
-/* You cannot 100% reliably calculate the biggest custom struct as
- * the number of pointers in it and alignment will have a huge impact.
- * 96 is the largest window-size for 64-bit machines currently */
-#define WINDOW_CUSTOM_SIZE 96
 
 struct Scrollbar {
 	uint16 count, cap, pos;
@@ -307,20 +292,6 @@
 	void InvalidateWidget(byte widget_index) const;
 };
 
-struct querystr_d {
-	StringID caption;
-	Textbuf text;
-	const char *orig;
-	CharSetFilter afilter;
-	bool handled;
-};
-assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(querystr_d));
-
-struct chatquerystr_d : public querystr_d {
-	int dest;
-};
-assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(chatquerystr_d));
-
 struct menu_d {
 	byte item_count;      ///< follow_vehicle
 	byte sel_index;       ///< scrollpos_x
@@ -637,7 +608,6 @@
 void InvalidateThisWindowData(Window *w);
 void InvalidateWindowData(WindowClass cls, WindowNumber number);
 void RelocateAllWindows(int neww, int newh);
-int PositionMainToolbar(Window *w);
 
 /* misc_gui.cpp */
 void GuiShowTooltipsWithArgs(StringID str, uint paramcount, const uint64 params[]);
--- a/src/window_type.h	Wed Dec 19 19:44:29 2007 +0000
+++ b/src/window_type.h	Wed Dec 19 20:45:46 2007 +0000
@@ -93,6 +93,14 @@
 };
 
 struct Window;
+struct WindowEvent;
 typedef int32 WindowNumber;
 
+/**
+ * You cannot 100% reliably calculate the biggest custom struct as
+ * the number of pointers in it and alignment will have a huge impact.
+ * 96 is the largest window-size for 64-bit machines currently.
+ */
+#define WINDOW_CUSTOM_SIZE 96
+
 #endif /* WINDOW_TYPE_H */