26#ifndef TGUI_SPIN_BUTTON_HPP
27#define TGUI_SPIN_BUTTON_HPP
30#include <TGUI/Renderers/SpinButtonRenderer.hpp>
31#include <TGUI/Widgets/ClickableWidget.hpp>
32#include <TGUI/Timer.hpp>
36TGUI_MODULE_EXPORT
namespace tgui
45 using Ptr = std::shared_ptr<SpinButton>;
46 using ConstPtr = std::shared_ptr<const SpinButton>;
48 static constexpr const char StaticWidgetType[] =
"SpinButton";
58 SpinButton(
const char* typeName = StaticWidgetType,
bool initRenderer =
true);
107 using Widget::setSize;
219 void leftMouseReleased(
Vector2f pos)
override;
224 void mouseMoved(
Vector2f pos)
override;
264 TGUI_NODISCARD std::unique_ptr<DataIO::Node>
save(SavingRenderersMap& renderers)
const override;
270 void load(
const std::unique_ptr<DataIO::Node>& node,
const LoadingRenderersMap& renderers)
override;
276 TGUI_NODISCARD
Vector2f getArrowSize()
const;
291 void callMousePressPeriodically(std::chrono::time_point<std::chrono::steady_clock> clicked);
304 bool m_verticalScroll =
true;
305 std::chrono::time_point<std::chrono::steady_clock> m_PressedAt;
308 float m_maximum = 10;
313 bool m_mouseHoverOnTopArrow =
false;
314 bool m_mouseDownOnTopArrow =
false;
317 Sprite m_spriteArrowUpHover;
319 Sprite m_spriteArrowDownHover;
323 Color m_borderColorCached;
324 Color m_backgroundColorCached;
325 Color m_backgroundColorHoverCached;
326 Color m_arrowColorCached;
327 Color m_arrowColorHoverCached;
328 float m_borderBetweenArrowsCached = 0;
Base class for render targets.
Definition BackendRenderTarget.hpp:48
Wrapper for colors.
Definition Color.hpp:72
Class to store the position or size of a widget.
Definition Layout.hpp:305
Definition Outline.hpp:39
Signal to which the user can subscribe to get callbacks from.
Definition Signal.hpp:62
Wrapper class to store strings.
Definition String.hpp:101
Namespace that contains all TGUI functions and classes.
Definition AbsoluteOrRelativeValue.hpp:39
States used for drawing.
Definition RenderStates.hpp:39