47 lines
1022 B
C++
47 lines
1022 B
C++
#ifndef CYCLELIGHTMATRIX_H
|
|
#define CYCLELIGHTMATRIX_H
|
|
|
|
#include "MatrixAnimation.h"
|
|
|
|
enum CycleLightType {
|
|
HORIZONTAL_CYCLELIGHT,
|
|
VERTICAL_CYCLELIGHT
|
|
};
|
|
|
|
class CycleLightMatrix : public MatrixAnimation {
|
|
public:
|
|
CycleLightMatrix(LEDHAL2D* _matrix, char* _refName, long _updateTime, CRGB* _colors,
|
|
uint8_t _numColors, CycleLightType _type) : MatrixAnimation(_matrix, _refName,
|
|
_updateTime), numColors(_numColors), colors(new CRGB[_numColors]),
|
|
cycleLightInt(0), cycleLightColor(0), type(_type) {
|
|
for(uint8_t i = 0; i < _numColors; i++) {
|
|
colors[i] = _colors[i];
|
|
}
|
|
}
|
|
virtual ~CycleLightMatrix() { delete colors; }
|
|
|
|
void initialize() {
|
|
cycleLightInt = 0;
|
|
cycleLightColor = 0;
|
|
resetTimer();
|
|
}
|
|
|
|
void execute();
|
|
|
|
CycleLightType getType() {
|
|
return type;
|
|
}
|
|
|
|
private:
|
|
uint16_t
|
|
cycleLightInt,
|
|
cycleLightColor;
|
|
CRGB*
|
|
colors;
|
|
uint8_t
|
|
numColors;
|
|
CycleLightType
|
|
type;
|
|
};
|
|
|
|
#endif |