G.U.L.L.S. rebuilt to use PlatformIO
This commit is contained in:
68
include/ColorRandomizerMatrix.h
Normal file
68
include/ColorRandomizerMatrix.h
Normal file
@@ -0,0 +1,68 @@
|
||||
#ifndef COLORRANDOMIZERMATRIX_H
|
||||
#define COLORRANDOMIZERMATRIX_H
|
||||
|
||||
#include "MatrixAnimation.h"
|
||||
#include "LEDHAL2D.h"
|
||||
|
||||
#define DEFAULT_MATRIX_FADER 64
|
||||
|
||||
enum ColorRandomizerType {
|
||||
HORIZONTAL_COLORRANDOMIZER,
|
||||
VERTICAL_COLORRANDOMIZER
|
||||
};
|
||||
|
||||
class ColorRandomizerMatrix : public MatrixAnimation {
|
||||
public:
|
||||
ColorRandomizerMatrix(LEDHAL2D* _matrix, char* _refName, long _updateTime, bool _fade,
|
||||
uint8_t _numColors, CRGB* _colors, ColorRandomizerType _type) :
|
||||
MatrixAnimation(_matrix, _refName, _updateTime), numColors(_numColors),
|
||||
colors(new CRGB[_numColors]), fade(_fade), colorRandomizerInt(0),
|
||||
scale(DEFAULT_MATRIX_FADER) {
|
||||
for(uint8_t i = 0; i < _numColors; i++) {
|
||||
colors[i] = _colors[i];
|
||||
}
|
||||
}
|
||||
|
||||
virtual ~ColorRandomizerMatrix() { delete colors; delete fadingValues; }
|
||||
|
||||
void initialize() {
|
||||
colorRandomizerInt = 0;
|
||||
isFading = false;
|
||||
|
||||
if(fadingValues != nullptr) {
|
||||
delete fadingValues;
|
||||
}
|
||||
|
||||
if(type == ColorRandomizerType::HORIZONTAL_COLORRANDOMIZER) {
|
||||
fadingValues = new CRGB[matrix->getHeight()];
|
||||
} else {
|
||||
fadingValues = new CRGB[matrix->getWidth()];
|
||||
}
|
||||
}
|
||||
|
||||
void execute();
|
||||
|
||||
void setFade(bool _fade) { fade = _fade; initialize(); }
|
||||
bool getFade() { return fade; }
|
||||
void setFadeScale(uint8_t _scale) { scale = _scale; initialize(); }
|
||||
uint8_t getFadeScale() { return scale; }
|
||||
void setType(ColorRandomizerType _type) { type = _type; initialize(); }
|
||||
ColorRandomizerType getType() { return type; }
|
||||
|
||||
private:
|
||||
CRGB
|
||||
*colors,
|
||||
*fadingValues;
|
||||
uint16_t
|
||||
colorRandomizerInt;
|
||||
uint8_t
|
||||
scale,
|
||||
numColors;
|
||||
bool
|
||||
isFading,
|
||||
fade;
|
||||
ColorRandomizerType
|
||||
type;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user