2 * This file is part of OpenTTD.
3 * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
4 * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
5 * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
8 /** @file settings_gui.h Functions for setting GUIs. */
14 #include "widgets/dropdown_type.h"
16 /** Width of setting buttons */
17 #define SETTING_BUTTON_WIDTH ((int)NWidgetScrollbar::GetHorizontalDimension().width * 2)
18 /** Height of setting buttons */
19 #define SETTING_BUTTON_HEIGHT ((int)NWidgetScrollbar::GetHorizontalDimension().height)
21 void DrawArrowButtons(int x
, int y
, Colours button_colour
, byte state
, bool clickable_left
, bool clickable_right
);
22 void DrawDropDownButton(int x
, int y
, Colours button_colour
, bool state
, bool clickable
);
23 void DrawBoolButton(int x
, int y
, bool state
, bool clickable
);
26 DropDownList
BuildSetDropDownList(int *selected_index
)
28 int n
= T::GetNumSets();
29 *selected_index
= T::GetIndexOfUsedSet();
31 for (int i
= 0; i
< n
; i
++) {
32 list
.push_back(std::make_unique
<DropDownListStringItem
>(T::GetSet(i
)->GetListLabel(), i
, false));
38 /* Actually implemented in music_gui.cpp */
39 void ChangeMusicSet(int index
);
41 #endif /* SETTING_GUI_H */