OpenTTD Source 20241224-master-gee860a5c8e
slider.cpp File Reference

Implementation of the horizontal slider widget. More...

#include "stdafx.h"
#include "gfx_func.h"
#include "palette_func.h"
#include "slider_func.h"
#include "strings_func.h"
#include "window_gui.h"
#include "zoom_func.h"
#include "safeguards.h"

Go to the source code of this file.

Functions

void DrawSliderWidget (Rect r, int min_value, int max_value, int nmarks, int value, SliderMarkFunc *mark_func)
 Draw a slider widget with knob at given value.
 
bool ClickSliderWidget (Rect r, Point pt, int min_value, int max_value, int nmarks, int &value)
 Handle click on a slider widget to change the value.
 

Variables

static const int SLIDER_WIDTH = 3
 

Detailed Description

Implementation of the horizontal slider widget.

Definition in file slider.cpp.

Function Documentation

◆ ClickSliderWidget()

bool ClickSliderWidget ( Rect  r,
Point  pt,
int  min_value,
int  max_value,
int  nmarks,
int &  value 
)

Handle click on a slider widget to change the value.

Parameters
rRectangle of the widget
ptClicked point
min_valueMinimum value of slider
max_valueMaximum value of slider
nmarksNumber of marks displayed. Value will be rounded to nearest mark.
value[in,out]Value to modify
Returns
True if the value setting was modified

Definition at line 91 of file slider.cpp.

References _current_text_dir, Clamp(), ScaleGUITrad(), and TD_RTL.

Referenced by MusicWindow::OnClick(), and GameOptionsWindow::OnClick().

◆ DrawSliderWidget()

void DrawSliderWidget ( Rect  r,
int  min_value,
int  max_value,
int  nmarks,
int  value,
SliderMarkFunc *  mark_func 
)

Draw a slider widget with knob at given value.

Parameters
rRectangle to draw the widget in
min_valueMinimum value of slider
max_valueMaximum value of slider
nmarksNumber of marks to display (when mark_func is provided.)
valueValue to put the slider at
mark_funcCallback function to get the StringID to draw on a mark.

Definition at line 31 of file slider.cpp.

References _current_text_dir, WidgetDimensions::bevel, Clamp(), DrawFrameRect(), DrawString(), FS_SMALL, GetCharacterHeight(), GetColourGradient(), GetStringBoundingBox(), GfxFillPolygon(), WidgetDimensions::hsep_normal, INVALID_STRING_ID, SA_CENTER, WidgetDimensions::scaled, ScaleGUITrad(), and TD_RTL.

Referenced by MusicWindow::DrawWidget(), and GameOptionsWindow::DrawWidget().

Variable Documentation

◆ SLIDER_WIDTH

const int SLIDER_WIDTH = 3
static

Definition at line 20 of file slider.cpp.