26#ifndef TGUI_RANGE_SLIDER_HPP
27#define TGUI_RANGE_SLIDER_HPP
30#include <TGUI/Widget.hpp>
31#include <TGUI/Renderers/RangeSliderRenderer.hpp>
44 typedef std::shared_ptr<RangeSlider>
Ptr;
45 typedef std::shared_ptr<const RangeSlider>
ConstPtr;
55 RangeSlider(
const char* typeName =
"RangeSlider",
bool initRenderer =
true);
250 void leftMousePressed(
Vector2f pos)
override;
255 void leftMouseReleased(
Vector2f pos)
override;
260 void mouseMoved(
Vector2f pos)
override;
265 void leftMouseButtonNoLongerDown()
override;
305 std::unique_ptr<DataIO::Node>
save(SavingRenderersMap& renderers)
const override;
311 void load(
const std::unique_ptr<DataIO::Node>& node,
const LoadingRenderersMap& renderers)
override;
323 void updateThumbPositions();
341 std::pair<FloatRect, FloatRect> m_thumbs;
344 unsigned int m_mouseDownOnThumb = 0;
348 float m_maximum = 10;
349 float m_selectionStart = 0;
350 float m_selectionEnd = 0;
354 bool m_verticalScroll =
false;
357 bool m_verticalImage =
false;
360 Sprite m_spriteTrackHover;
362 Sprite m_spriteThumbHover;
363 Sprite m_spriteSelectedTrack;
364 Sprite m_spriteSelectedTrackHover;
368 Color m_borderColorCached;
369 Color m_borderColorHoverCached;
370 Color m_thumbColorCached;
371 Color m_thumbColorHoverCached;
372 Color m_trackColorCached;
373 Color m_trackColorHoverCached;
374 Color m_selectedTrackColorCached;
375 Color m_selectedTrackColorHoverCached;
Base class for render targets.
Definition: BackendRenderTarget.hpp:48
Wrapper for colors.
Definition: Color.hpp:63
Class to store the position or size of a widget.
Definition: Layout.hpp:284
Definition: Outline.hpp:39
Definition: RangeSliderRenderer.hpp:37
RangeSlider widget.
Definition: RangeSlider.hpp:41
float getMinimum() const
Returns the minimum value.
Vector2f getWidgetOffset() const override
Returns the distance between the position where the widget is drawn and where the widget is placed.
float getStep() const
Returns the number of positions the thumb advances with each move.
float getSelectionEnd() const
Returns the current value where the selection ends.
void setSelectionStart(float value)
Changes the value where the selection starts.
Vector2f getFullSize() const override
Returns the full size of the slider.
void setMinimum(float minimum)
Sets a minimum value.
void setSize(const Layout2d &size) override
Changes the size of the slider.
float getSelectionStart() const
Returns the current value where the selection starts.
RangeSliderRenderer * getSharedRenderer()
Returns the renderer, which gives access to functions that determine how the widget is displayed.
static RangeSlider::Ptr copy(RangeSlider::ConstPtr slider)
Makes a copy of another slider.
std::shared_ptr< const RangeSlider > ConstPtr
Shared constant widget pointer.
Definition: RangeSlider.hpp:45
static RangeSlider::Ptr create(float minimum=0, float maximum=10)
Creates a new slider widget.
Signal & getSignal(String signalName) override
Retrieves a signal based on its name.
void rendererChanged(const String &property) override
Function called when one of the properties of the renderer is changed.
std::shared_ptr< RangeSlider > Ptr
Shared widget pointer.
Definition: RangeSlider.hpp:44
std::unique_ptr< DataIO::Node > save(SavingRenderersMap &renderers) const override
Saves the widget as a tree node in order to save it to a file.
bool isMouseOnWidget(Vector2f pos) const override
Returns whether the mouse position (which is relative to the parent widget) lies on top of the widget...
void setSelectionEnd(float value)
Changes the value where the selection ends.
void setMaximum(float maximum)
Sets a maximum value.
void draw(BackendRenderTarget &target, RenderStates states) const override
Draw the widget to a render target.
void load(const std::unique_ptr< DataIO::Node > &node, const LoadingRenderersMap &renderers) override
Loads the widget from a tree of nodes.
Widget::Ptr clone() const override
Makes a copy of the widget if you don't know its exact type.
RangeSliderRenderer * getRenderer()
Returns the renderer, which gives access to functions that determine how the widget is displayed.
float getMaximum() const
Returns the maximum value.
void setStep(float step)
Changes the number of positions the thumb advances with each move.
Signal to which the user can subscribe to get callbacks from.
Definition: Signal.hpp:58
Definition: Sprite.hpp:45
Wrapper class to store strings.
Definition: String.hpp:79
Namespace that contains all TGUI functions and classes.
Definition: AbsoluteOrRelativeValue.hpp:36
States used for drawing.
Definition: RenderStates.hpp:39