FastLED
3.9.15
Loading...
Searching...
No Matches
transition.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <stdint.h>
4
#include "
fl/namespace.h
"
5
6
namespace
fl
{
7
8
// Logic to control the progression of a transition over time.
9
class
Transition
{
10
public
:
11
Transition
() :
mStart
(0),
mDuration
(0),
mNotStarted
(true) {}
12
~Transition
() {}
13
14
uint8_t
getProgress
(uint32_t 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
(uint32_t now, uint32_t duration) {
28
mNotStarted
=
false
;
29
mStart
= now;
30
mDuration
= duration;
31
}
32
33
void
end
() {
34
mNotStarted
=
true
;
35
}
36
37
bool
isTransitioning
(uint32_t now) {
38
if
(
mNotStarted
) {
39
return
false
;
40
}
41
return
now >=
mStart
&& now <
mStart
+
mDuration
;
42
}
43
44
private
:
45
uint32_t
mStart
;
46
uint32_t
mDuration
;
47
bool
mNotStarted
;
48
};
49
50
51
}
// namespace fl
52
fl::Transition::mNotStarted
bool mNotStarted
Definition
transition.h:47
fl::Transition::mDuration
uint32_t mDuration
Definition
transition.h:46
fl::Transition::isTransitioning
bool isTransitioning(uint32_t now)
Definition
transition.h:37
fl::Transition::end
void end()
Definition
transition.h:33
fl::Transition::getProgress
uint8_t getProgress(uint32_t now)
Definition
transition.h:14
fl::Transition::start
void start(uint32_t now, uint32_t duration)
Definition
transition.h:27
fl::Transition::mStart
uint32_t mStart
Definition
transition.h:45
fl::Transition::Transition
Transition()
Definition
transition.h:11
fl::Transition::~Transition
~Transition()
Definition
transition.h:12
namespace.h
Implements the FastLED namespace macros.
fl
Implements a simple red square effect for 2D LED grids.
Definition
crgb.h:16
fx
detail
transition.h
Generated on Fri Apr 18 2025 03:39:31 for FastLED by
1.13.2