-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathStatefulStrip.h
31 lines (27 loc) · 1.33 KB
/
StatefulStrip.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef StatefulStrip_h
#define StatefulStrip_h
#include <FastLED.h>
#include "Strip.h"
#include "Gradient.h"
class StatefulStrip : public Strip {
protected:
CRGBSet *leds;
uint16_t density;
public:
StatefulStrip(CRGBSet &leds, uint16_t density = 0);
StatefulStrip(CRGBSet *leds, uint16_t density = 0);
StatefulStrip();
void setLeds(CRGBSet *leds);
Strip *overlay(double opacity = 1) override;
uint16_t size() override;
void _fade(int16_t indexFrom, int16_t indexTo, uint8_t amount) override;
void _blur(int16_t indexFrom, int16_t indexTo, uint8_t amount) override;
CRGB _shiftUp(int16_t indexFrom, int16_t indexTo, CRGB in = CRGB::Black) override;
CRGB _shiftDown(int16_t indexFrom, int16_t indexTo, CRGB in = CRGB::Black) override;
bool _paintSolid(int16_t indexFrom, int16_t indexTo, CRGB color, bool overlay) override;
bool _paintGradient(int16_t indexFrom, int16_t indexTo, Gradient *gradient, double gradientFrom, double gradientTo, bool overlay) override;
bool _paintRainbow(int16_t indexFrom, int16_t indexTo, uint8_t initialHue, uint8_t deltaHue) override;
bool paintNormalizedSize(double positionFrom, int16_t size, CRGB color, bool overlay) override;
CRGB getIndex(int16_t index) override;
};
#endif