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
10struct WaveEffect {
11 fl::WaveFxPtr wave_fx_low;
12 fl::WaveFxPtr wave_fx_high;
13 fl::Blend2dPtr blend_stack;
14 void draw(fl::Fx::DrawContext context) { blend_stack->draw(context); }
15 void addf(size_t x, size_t y, float value) {
16 wave_fx_low->addf(x, y, value);
17 wave_fx_high->addf(x, y, value);
18 }
19};
20
23 void draw(const fl::vec2<uint16_t> &pt, uint32_t /*index*/, uint8_t value) {
24 float valuef = value / 255.0f;
25 size_t xx = pt.x;
26 size_t yy = pt.y;
27 mWaveFx->addf(xx, yy, valuef);
28 }
30};
31
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:22
WaveEffect * mWaveFx
Definition wave.h:29
void draw(const fl::vec2< uint16_t > &pt, uint32_t, uint8_t value)
Definition wave.h:23
void draw(fl::Fx::DrawContext context)
Definition wave.h:14
fl::WaveFxPtr wave_fx_low
Definition wave.h:11
void addf(size_t x, size_t y, float value)
Definition wave.h:15
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