summaryrefslogtreecommitdiff
path: root/src/statusbar_gui.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-11-02 10:15:48 +0000
committerrubidium <rubidium@openttd.org>2009-11-02 10:15:48 +0000
commit4a970202a9101be3fdd22ff060140e46133490dc (patch)
treeb25b612ff18784db968ad7edcdd4d689883ee6ea /src/statusbar_gui.cpp
parent148d9b8e387cf7298421747917d17c00acc7bb99 (diff)
downloadopenttd-4a970202a9101be3fdd22ff060140e46133490dc.tar.xz
(svn r17947) -Codechange: make the statusbar, chat input and news window know of eachothers size so they don't get overlapped and don't get invisible (bottoms) of windows when a larger font is used
Diffstat (limited to 'src/statusbar_gui.cpp')
-rw-r--r--src/statusbar_gui.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/statusbar_gui.cpp b/src/statusbar_gui.cpp
index ac9ab4351..d8c2f3fbf 100644
--- a/src/statusbar_gui.cpp
+++ b/src/statusbar_gui.cpp
@@ -98,11 +98,22 @@ struct StatusBarWindow : Window {
this->InitNested(desc);
}
+ virtual Point OnInitialPosition(const WindowDesc *desc, int16 sm_width, int16 sm_height, int window_number)
+ {
+ Point pt = { (_screen.width - max(sm_width, desc->default_width)) / 2, _screen.height - sm_height };
+ return pt;
+ }
+
virtual void OnPaint()
{
this->DrawWidgets();
}
+ virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *resize)
+ {
+ size->height = FONT_HEIGHT_NORMAL + padding.height;
+ }
+
virtual void DrawWidget(const Rect &r, int widget) const
{
switch (widget) {
@@ -202,7 +213,7 @@ static const NWidgetPart _nested_main_status_widgets[] = {
EndContainer(),
};
-static WindowDesc _main_status_desc(
+static const WindowDesc _main_status_desc(
WDP_CENTER, 0, 320, 12, 640, 12,
WC_STATUS_BAR, WC_NONE,
WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_NO_FOCUS,
@@ -220,6 +231,5 @@ bool IsNewsTickerShown()
void ShowStatusBar()
{
- _main_status_desc.top = _screen.height - 12;
new StatusBarWindow(&_main_status_desc);
}