17 #include "GUITexture.h" 21 #define SLIDER_CONTROL_TYPE_INT 1 22 #define SLIDER_CONTROL_TYPE_FLOAT 2 23 #define SLIDER_CONTROL_TYPE_PERCENTAGE 3 28 const char *formatString;
42 RangeSelectorLower = 0,
43 RangeSelectorUpper = 1
58 ORIENTATION orientationconst);
62 void Process(
unsigned int currentTime, CDirtyRegionList &dirtyregions)
override;
63 void Render()
override;
64 bool OnAction(
const CAction &action)
override;
65 virtual bool IsActive()
const {
return true; }
66 void AllocResources()
override;
67 void FreeResources(
bool immediately =
false)
override;
68 void DynamicResourceAlloc(
bool bOnOff)
override;
69 void SetInvalid()
override;
70 virtual void SetRange(
int iStart,
int iEnd);
71 virtual void SetFloatRange(
float fStart,
float fEnd);
75 unsigned int currentTime,
77 RangeSelector selector);
78 void SetRangeSelection(
bool rangeSelection);
79 bool GetRangeSelection()
const {
return m_rangeSelection; }
80 void SetRangeSelector(RangeSelector selector);
81 void SwitchRangeSelector();
82 void SetInfo(
int iInfo);
83 void SetPercentage(
float iPercent, RangeSelector selector = RangeSelectorLower,
bool updateCurrent =
false);
84 float GetPercentage(RangeSelector selector = RangeSelectorLower)
const;
85 void SetIntValue(
int iValue, RangeSelector selector = RangeSelectorLower,
bool updateCurrent =
false);
86 int GetIntValue(RangeSelector selector = RangeSelectorLower)
const;
87 void SetFloatValue(
float fValue, RangeSelector selector = RangeSelectorLower,
bool updateCurrent =
false);
88 float GetFloatValue(RangeSelector selector = RangeSelectorLower)
const;
89 void SetIntInterval(
int iInterval);
90 void SetFloatInterval(
float fInterval);
91 void SetType(
int iType) { m_iType = iType; }
92 int GetType()
const {
return m_iType; }
93 std::string GetDescription()
const override;
94 void SetTextValue(
const std::string& textValue) {
m_textValue = textValue; }
95 void SetAction(
const std::string &action);
103 virtual void Move(
int iNumSteps);
104 virtual void SetFromPosition(
const CPoint &point,
bool guessSelector =
false);
108 float GetProportion(RangeSelector selector = RangeSelectorLower)
const;
114 std::unique_ptr<CGUITexture> m_guiBackground;
115 std::unique_ptr<CGUITexture> m_guiBackgroundDisabled;
116 std::unique_ptr<CGUITexture> m_guiSelectorLower;
117 std::unique_ptr<CGUITexture> m_guiSelectorUpper;
118 std::unique_ptr<CGUITexture> m_guiSelectorLowerFocus;
119 std::unique_ptr<CGUITexture> m_guiSelectorUpperFocus;
120 std::unique_ptr<CGUITexture> m_guiSelectorLowerDisabled;
121 std::unique_ptr<CGUITexture> m_guiSelectorUpperDisabled;
124 bool m_rangeSelection;
125 RangeSelector m_currentSelector;
127 std::array<float, 2> m_percentValues;
129 std::array<int, 2> m_intValues;
134 std::array<float, 2> m_floatValues;
143 ORIENTATION m_orientation;
Definition: GUISliderControl.h:25
std::string m_textValue
Allows overriding of the text value to be displayed (parent must update when the slider updates) ...
Definition: GUISliderControl.h:140
Definition: GUIListItem.h:30
bool HitTest(const CPoint &point) const override
Used to test whether the point is inside a control.
Definition: GUISliderControl.cpp:620
EVENT_RESULT OnMouseEvent(const CPoint &point, const CMouseEvent &event) override
Perform a mouse action.
Definition: GUISliderControl.cpp:679
Base class for controls.
Definition: GUIControl.h:75
EVENT_RESULT
Results of OnMouseEvent() Any value not equal to EVENT_RESULT_UNHANDLED indicates that the event was ...
Definition: GUIControl.h:60
bool m_dragging
Whether we're in a (mouse/touch) drag operation or not - some actions are sent only on release...
Definition: GUISliderControl.h:142
class encapsulating information regarding a particular user action to be sent to windows and controls...
Definition: Action.h:22
const SliderAction * m_action
Allows the skin to configure the action of a click on the slider.
Definition: GUISliderControl.h:141
Definition: GUITexture.h:51
Definition: GUITexture.h:73
Definition: GUIMessage.h:365
Definition: GUISliderControl.h:37
void SendClick()
Send a click message (and/or action) to the app in response to a slider move.
Definition: GUISliderControl.cpp:376
float GetProportion(RangeSelector selector=RangeSelectorLower) const
Get the current position of the slider as a proportion.
Definition: GUISliderControl.cpp:796
Simple class for mouse events.
Definition: Key.h:114