FastLED 3.9.15
Loading...
Searching...
No Matches
wave.h
Go to the documentation of this file.
1
2
3#pragma once
4
5#include "fl/fx/2d/blend.h"
6#include "fl/fx/2d/wave.h"
7#include "fl/fx/fx2d.h"
8#include "fl/gfx/raster.h"
9
10
11struct WaveEffect {
12 fl::WaveFxPtr wave_fx_low;
13 fl::WaveFxPtr wave_fx_high;
14 fl::Blend2dPtr blend_stack;
15 void draw(fl::Fx::DrawContext context) { blend_stack->draw(context); }
16 void addf(size_t x, size_t y, float value) {
17 wave_fx_low->addf(x, y, value);
18 wave_fx_high->addf(x, y, value);
19 }
20};
21
24 void draw(const fl::vec2<int> &pt, uint32_t /*index*/, uint8_t value) {
25 float valuef = value / 255.0f;
26 int xx = pt.x;
27 int yy = pt.y;
28 mWaveFx->addf(xx, yy, valuef);
29 }
31};
32
XYMap xymap
int y
Definition simple.h:93
int x
Definition simple.h:92
::fl::DrawContext DrawContext
Definition fx.h:21
WaveEffect wave_fx
Definition Downscale.h:48
WaveEffect NewWaveSimulation2D(const fl::XYMap &xymap)
Definition wave.cpp:42
2D wave simulation effect for LED matrices
DrawRasterToWaveSimulator(WaveEffect *wave_fx)
Definition wave.h:23
WaveEffect * mWaveFx
Definition wave.h:29
void draw(const fl::vec2< int > &pt, uint32_t, uint8_t value)
Definition wave.h:24
void draw(fl::Fx::DrawContext context)
Definition wave.h:15
fl::WaveFxPtr wave_fx_low
Definition wave.h:11
void addf(size_t x, size_t y, float value)
Definition wave.h:16
fl::Blend2dPtr blend_stack
Definition wave.h:13
fl::WaveFxPtr wave_fx_high
Definition wave.h:12
value_type y
Definition geometry.h:191
value_type x
Definition geometry.h:190