8 {
9
10UISlider::UISlider(
const char *name,
float value,
float min,
float max,
float step)
FL_NOEXCEPT
11 : mImpl(name, value,
min,
max, step), mListener(
this) {
12 mListener.addToEngineEventsOnce();
13}
14
16 float oldValue = mImpl.value();
17 mImpl.setValue(value);
18
19
20
21 float newValue = mImpl.value();
22 if (newValue != oldValue) {
23 mLastFrameValue = newValue;
24 mLastFrameValueValid = true;
25
26 mCallbacks.invoke(*this);
27 }
28}
29
30void UISlider::Listener::onBeginFrame()
FL_NOEXCEPT {
31 UISlider &owner = *mOwner;
32 if (!owner.mLastFrameValueValid) {
33 owner.mLastFrameValue = owner.value();
34 owner.mLastFrameValueValid = true;
35 return;
36 }
37 float value = owner.value();
38 if (value != owner.mLastFrameValue) {
39 owner.mCallbacks.invoke(*mOwner);
40 owner.mLastFrameValue = value;
41 }
42}
43
44}
FL_DISABLE_WARNING_PUSH U constexpr common_type_t< T, U > min(T a, U b) FL_NOEXCEPT
Memory functions are available in fl:: namespace via fl/stl/cstring.h Using declarations cannot work ...
constexpr common_type_t< T, U > max(T a, U b) FL_NOEXCEPT