17 #ifndef DGL_EVENT_HANDLERS_HPP_INCLUDED
18 #define DGL_EVENT_HANDLERS_HPP_INCLUDED
30 kButtonStateDefault = 0x0,
31 kButtonStateHover = 0x1,
32 kButtonStateActive = 0x2,
33 kButtonStateActiveHover = kButtonStateActive|kButtonStateHover
40 virtual void buttonClicked(
SubWidget* widget,
int button) = 0;
46 bool isActive() noexcept;
47 void setActive(
bool active,
bool sendCallback) noexcept;
49 bool isChecked() const noexcept;
50 void setChecked(
bool checked,
bool sendCallback) noexcept;
52 bool isCheckable() const noexcept;
53 void setCheckable(
bool checkable) noexcept;
55 Point<
double> getLastClickPosition() const noexcept;
56 Point<
double> getLastMotionPosition() const noexcept;
58 void setCallback(
Callback* callback) noexcept;
60 bool mouseEvent(const
Widget::MouseEvent& ev);
61 bool motionEvent(const
Widget::MotionEvent& ev);
64 State getState() const noexcept;
65 void clearState() noexcept;
67 virtual
void stateChanged(State state, State oldState);
69 void setInternalCallback(
Callback* callback) noexcept;
70 void triggerUserCallback(
SubWidget* widget,
int button);
74 PrivateData* const pData;
91 kKnobStateDefault = 0x0,
92 kKnobStateHover = 0x1,
93 kKnobStateDragging = 0x2,
94 kKnobStateDraggingHover = kKnobStateDragging|kKnobStateHover
101 virtual void knobDragStarted(
SubWidget* widget) = 0;
102 virtual void knobDragFinished(
SubWidget* widget) = 0;
103 virtual void knobValueChanged(
SubWidget* widget,
float value) = 0;
112 float getValue() const noexcept;
115 void setValue(
float value,
bool sendCallback = false) noexcept;
118 float getNormalizedValue() const noexcept;
121 void setDefault(
float def) noexcept;
124 void setRange(
float min,
float max) noexcept;
126 void setStep(
float step) noexcept;
128 void setUsingLogScale(
bool yesNo) noexcept;
130 Orientation getOrientation() const noexcept;
131 void setOrientation(const Orientation orientation) noexcept;
133 void setCallback(
Callback* callback) noexcept;
135 bool mouseEvent(const
Widget::MouseEvent& ev);
136 bool motionEvent(const
Widget::MotionEvent& ev);
137 bool scrollEvent(const
Widget::ScrollEvent& ev);
140 State getState() const noexcept;
144 PrivateData* const pData;
153 #endif // DGL_EVENT_HANDLERS_HPP_INCLUDED