FastLED
3.9.15
Loading...
Searching...
No Matches
transition.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
fl/stl/int.h
"
4
#include "
fl/stl/noexcept.h
"
5
6
namespace
fl
{
7
8
// Logic to control the progression of a transition over time.
9
class
Transition
{
10
public
:
11
Transition
()
FL_NOEXCEPT
:
mStart
(0),
mDuration
(0),
mNotStarted
(true) {}
12
~Transition
()
FL_NOEXCEPT
{}
13
14
u8
getProgress
(fl::u32 now) {
15
if
(
mNotStarted
) {
16
return
0;
17
}
18
if
(now <
mStart
) {
19
return
0;
20
}
else
if
(now >=
mStart
+
mDuration
) {
21
return
255;
22
}
else
{
23
return
((now -
mStart
) * 255) /
mDuration
;
24
}
25
}
26
27
void
start
(fl::u32 now, fl::u32 duration) {
28
mNotStarted
=
false
;
29
mStart
= now;
30
mDuration
= duration;
31
}
32
33
void
end
() {
mNotStarted
=
true
; }
34
35
bool
isTransitioning
(fl::u32 now) {
36
if
(
mNotStarted
) {
37
return
false
;
38
}
39
return
now >=
mStart
&& now <
mStart
+
mDuration
;
40
}
41
42
private
:
43
fl::u32
mStart
;
44
fl::u32
mDuration
;
45
bool
mNotStarted
;
46
};
47
48
}
// namespace fl
fl::Transition::mNotStarted
bool mNotStarted
Definition
transition.h:45
fl::Transition::getProgress
u8 getProgress(fl::u32 now)
Definition
transition.h:14
fl::Transition::end
void end()
Definition
transition.h:33
fl::Transition::start
void start(fl::u32 now, fl::u32 duration)
Definition
transition.h:27
fl::Transition::isTransitioning
bool isTransitioning(fl::u32 now)
Definition
transition.h:35
fl::Transition::mStart
fl::u32 mStart
Definition
transition.h:43
fl::Transition::mDuration
fl::u32 mDuration
Definition
transition.h:44
fl::Transition::Transition
Transition() FL_NOEXCEPT
Definition
transition.h:11
fl::Transition::~Transition
~Transition() FL_NOEXCEPT
Definition
transition.h:12
int.h
fl::u8
unsigned char u8
Definition
stdint.h:131
fl
Base definition for an LED controller.
Definition
crgb.hpp:179
noexcept.h
FL_NOEXCEPT
#define FL_NOEXCEPT
fl
fx
detail
transition.h
Generated on Tue Jun 16 2026 00:06:59 for FastLED by
1.13.2