OpenTTD Source 20241224-master-gf74b0cf984
settings_gui.h File Reference

Functions for setting GUIs. More...

#include "gfx_type.h"
#include "dropdown_type.h"

Go to the source code of this file.

Macros

#define SETTING_BUTTON_WIDTH   ((int)NWidgetScrollbar::GetHorizontalDimension().width * 2)
 Width of setting buttons.
 
#define SETTING_BUTTON_HEIGHT   ((int)NWidgetScrollbar::GetHorizontalDimension().height)
 Height of setting buttons.
 

Functions

void DrawArrowButtons (int x, int y, Colours button_colour, uint8_t state, bool clickable_left, bool clickable_right)
 Draw [<][>] boxes.
 
void DrawDropDownButton (int x, int y, Colours button_colour, bool state, bool clickable)
 Draw a dropdown button.
 
void DrawBoolButton (int x, int y, bool state, bool clickable)
 Draw a toggle button.
 
template<class T >
DropDownList BuildSetDropDownList (int *selected_index)
 
void ChangeMusicSet (int index)
 Change the configured music set and reset playback.
 

Detailed Description

Functions for setting GUIs.

Definition in file settings_gui.h.

Macro Definition Documentation

◆ SETTING_BUTTON_HEIGHT

#define SETTING_BUTTON_HEIGHT   ((int)NWidgetScrollbar::GetHorizontalDimension().height)

Height of setting buttons.

Definition at line 19 of file settings_gui.h.

◆ SETTING_BUTTON_WIDTH

#define SETTING_BUTTON_WIDTH   ((int)NWidgetScrollbar::GetHorizontalDimension().width * 2)

Width of setting buttons.

Definition at line 17 of file settings_gui.h.

Function Documentation

◆ BuildSetDropDownList()

template<class T >
DropDownList BuildSetDropDownList ( int *  selected_index)

Definition at line 129 of file settings_gui.cpp.

◆ ChangeMusicSet()

void ChangeMusicSet ( int  index)

Change the configured music set and reset playback.

Parameters
indexIndex of music set to switch to

Definition at line 463 of file music_gui.cpp.

References MusicSystem::ChangeMusicSet(), BaseMedia< MusicSet >::GetIndexOfUsedSet(), and BaseMedia< MusicSet >::GetSet().

Referenced by MusicTrackSelectionWindow::OnDropdownSelect(), and GameOptionsWindow::OnDropdownSelect().

◆ DrawArrowButtons()

void DrawArrowButtons ( int  x,
int  y,
Colours  button_colour,
uint8_t  state,
bool  clickable_left,
bool  clickable_right 
)

Draw [<][>] boxes.

Parameters
xthe x position to draw
ythe y position to draw
button_colourthe colour of the button
state0 = none clicked, 1 = first clicked, 2 = second clicked
clickable_leftis the left button clickable?
clickable_rightis the right button clickable?

Definition at line 2927 of file settings_gui.cpp.

References _current_text_dir, WidgetDimensions::bevel, DrawFrameRect(), FILLRECT_CHECKER, FR_LOWERED, GetColourGradient(), GfxFillRect(), SA_CENTER, WidgetDimensions::scaled, Rect::Shrink(), and TD_RTL.

Referenced by IndustryViewWindow::DrawInfo(), SettingEntry::DrawSetting(), CheatWindow::DrawWidget(), GSConfigWindow::DrawWidget(), NewGRFParametersWindow::DrawWidget(), and ScriptSettingsWindow::DrawWidget().

◆ DrawBoolButton()

void DrawBoolButton ( int  x,
int  y,
bool  state,
bool  clickable 
)

Draw a toggle button.

Parameters
xthe x position to draw
ythe y position to draw
statetrue = lowered
clickableis the button clickable?

Definition at line 2979 of file settings_gui.cpp.

References DrawFrameRect(), FR_LOWERED, SETTING_BUTTON_HEIGHT, and SETTING_BUTTON_WIDTH.

Referenced by SettingEntry::DrawSetting(), CheatWindow::DrawWidget(), GSConfigWindow::DrawWidget(), NewGRFParametersWindow::DrawWidget(), and ScriptSettingsWindow::DrawWidget().

◆ DrawDropDownButton()

void DrawDropDownButton ( int  x,
int  y,
Colours  button_colour,
bool  state,
bool  clickable 
)

Draw a dropdown button.

Parameters
xthe x position to draw
ythe y position to draw
button_colourthe colour of the button
statetrue = lowered
clickableis the button clickable?

Definition at line 2958 of file settings_gui.cpp.

References WidgetDimensions::bevel, DrawFrameRect(), FILLRECT_CHECKER, FR_LOWERED, GetColourGradient(), GfxFillRect(), SA_CENTER, WidgetDimensions::scaled, SETTING_BUTTON_HEIGHT, SETTING_BUTTON_WIDTH, and Rect::Shrink().

Referenced by SettingEntry::DrawSetting(), GSConfigWindow::DrawWidget(), NewGRFParametersWindow::DrawWidget(), and ScriptSettingsWindow::DrawWidget().