From 1cf09f804be99adbc2a046fd124330f4fc36c731 Mon Sep 17 00:00:00 2001 From: frosch Date: Fri, 13 Feb 2015 21:25:48 +0000 Subject: (svn r27147) -Fix: Scale (non-custom) default window sizes according to GUI zoom. --- src/window.cpp | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) (limited to 'src/window.cpp') diff --git a/src/window.cpp b/src/window.cpp index e053165f3..ff24dbd3b 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -87,12 +87,10 @@ static SmallVector *_window_descs = NULL; char *_windows_file; /** Window description constructor. */ -WindowDesc::WindowDesc(WindowPosition def_pos, const char *ini_key, int16 def_width, int16 def_height, +WindowDesc::WindowDesc(WindowPosition def_pos, const char *ini_key, int16 def_width_trad, int16 def_height_trad, WindowClass window_class, WindowClass parent_class, uint32 flags, const NWidgetPart *nwid_parts, int16 nwid_length, HotkeyList *hotkeys) : default_pos(def_pos), - default_width(def_width), - default_height(def_height), cls(window_class), parent_cls(parent_class), ini_key(ini_key), @@ -102,7 +100,9 @@ WindowDesc::WindowDesc(WindowPosition def_pos, const char *ini_key, int16 def_wi hotkeys(hotkeys), pref_sticky(false), pref_width(0), - pref_height(0) + pref_height(0), + default_width_trad(def_width_trad), + default_height_trad(def_height_trad) { if (_window_descs == NULL) _window_descs = new SmallVector(); *_window_descs->Append() = this; @@ -113,6 +113,26 @@ WindowDesc::~WindowDesc() _window_descs->Erase(_window_descs->Find(this)); } +/** + * Determine default width of window. + * This is either a stored user preferred size, or the build-in default. + * @return Width in pixels. + */ +int16 WindowDesc::GetDefaultWidth() const +{ + return this->pref_width != 0 ? this->pref_width : ScaleGUITrad(this->default_width_trad); +} + +/** + * Determine default height of window. + * This is either a stored user preferred size, or the build-in default. + * @return Height in pixels. + */ +int16 WindowDesc::GetDefaultHeight() const +{ + return this->pref_height != 0 ? this->pref_height : ScaleGUITrad(this->default_height_trad); +} + /** * Load all WindowDesc settings from _windows_file. */ -- cgit v1.2.3-70-g09d2