# HG changeset patch # User alberth # Date 2009-08-01 12:42:58 # Node ID 00b2ff8705ed8c437763e1f529f535b27d53e8a3 # Parent a82b8d2d3ed93aeb2bf2cd7c50b95508657209bf (svn r17022) -Codechange: Use nested widgets for the console window. diff --git a/src/console_gui.cpp b/src/console_gui.cpp --- a/src/console_gui.cpp +++ b/src/console_gui.cpp @@ -143,18 +143,36 @@ static inline void IConsoleResetHistoryP static void IConsoleHistoryAdd(const char *cmd); static void IConsoleHistoryNavigate(int direction); +/** Widgets of the console window. */ +enum ConsoleWidgets { + CW_BACKGROUND, ///< Background of the console +}; + +static const struct NWidgetPart _nested_console_window_widgets[] = { + NWidget(WWT_EMPTY, INVALID_COLOUR, CW_BACKGROUND), SetResize(1, 1), +}; + +static const WindowDesc _console_window_desc( + 0, 0, 0, 0, 0, 0, + WC_CONSOLE, WC_NONE, + 0, + NULL, _nested_console_window_widgets, lengthof(_nested_console_window_widgets) +); + struct IConsoleWindow : Window { static int scroll; int line_height; int line_offset; - IConsoleWindow() : Window(0, 0, _screen.width, _screen.height / 3, WC_CONSOLE, NULL) + IConsoleWindow() : Window() { _iconsole_mode = ICONSOLE_OPENED; - this->line_height = FONT_HEIGHT_NORMAL + ICON_LINE_SPACING; this->line_offset = GetStringBoundingBox("] ").width + 5; + + this->InitNested(&_console_window_desc, 0); + ResizeWindow(this, _screen.width, _screen.height / 3); } ~IConsoleWindow()