177 lines
6.4 KiB
C++
177 lines
6.4 KiB
C++
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
/* Note - never reorder or remove these, only add new animations at the end */
|
|
enum {
|
|
VIALRGB_EFFECT_OFF = 0,
|
|
VIALRGB_EFFECT_DIRECT,
|
|
VIALRGB_EFFECT_SOLID_COLOR,
|
|
VIALRGB_EFFECT_ALPHAS_MODS,
|
|
VIALRGB_EFFECT_GRADIENT_UP_DOWN,
|
|
VIALRGB_EFFECT_GRADIENT_LEFT_RIGHT,
|
|
VIALRGB_EFFECT_BREATHING,
|
|
VIALRGB_EFFECT_BAND_SAT,
|
|
VIALRGB_EFFECT_BAND_VAL,
|
|
VIALRGB_EFFECT_BAND_PINWHEEL_SAT,
|
|
VIALRGB_EFFECT_BAND_PINWHEEL_VAL,
|
|
VIALRGB_EFFECT_BAND_SPIRAL_SAT,
|
|
VIALRGB_EFFECT_BAND_SPIRAL_VAL,
|
|
VIALRGB_EFFECT_CYCLE_ALL,
|
|
VIALRGB_EFFECT_CYCLE_LEFT_RIGHT,
|
|
VIALRGB_EFFECT_CYCLE_UP_DOWN,
|
|
VIALRGB_EFFECT_RAINBOW_MOVING_CHEVRON,
|
|
VIALRGB_EFFECT_CYCLE_OUT_IN,
|
|
VIALRGB_EFFECT_CYCLE_OUT_IN_DUAL,
|
|
VIALRGB_EFFECT_CYCLE_PINWHEEL,
|
|
VIALRGB_EFFECT_CYCLE_SPIRAL,
|
|
VIALRGB_EFFECT_DUAL_BEACON,
|
|
VIALRGB_EFFECT_RAINBOW_BEACON,
|
|
VIALRGB_EFFECT_RAINBOW_PINWHEELS,
|
|
VIALRGB_EFFECT_RAINDROPS,
|
|
VIALRGB_EFFECT_JELLYBEAN_RAINDROPS,
|
|
VIALRGB_EFFECT_HUE_BREATHING,
|
|
VIALRGB_EFFECT_HUE_PENDULUM,
|
|
VIALRGB_EFFECT_HUE_WAVE,
|
|
VIALRGB_EFFECT_TYPING_HEATMAP,
|
|
VIALRGB_EFFECT_DIGITAL_RAIN,
|
|
VIALRGB_EFFECT_SOLID_REACTIVE_SIMPLE,
|
|
VIALRGB_EFFECT_SOLID_REACTIVE,
|
|
VIALRGB_EFFECT_SOLID_REACTIVE_WIDE,
|
|
VIALRGB_EFFECT_SOLID_REACTIVE_MULTIWIDE,
|
|
VIALRGB_EFFECT_SOLID_REACTIVE_CROSS,
|
|
VIALRGB_EFFECT_SOLID_REACTIVE_MULTICROSS,
|
|
VIALRGB_EFFECT_SOLID_REACTIVE_NEXUS,
|
|
VIALRGB_EFFECT_SOLID_REACTIVE_MULTINEXUS,
|
|
VIALRGB_EFFECT_SPLASH,
|
|
VIALRGB_EFFECT_MULTISPLASH,
|
|
VIALRGB_EFFECT_SOLID_SPLASH,
|
|
VIALRGB_EFFECT_SOLID_MULTISPLASH,
|
|
};
|
|
|
|
static const PROGMEM vialrgb_supported_mode_t supported_modes[] = {
|
|
{ VIALRGB_EFFECT_OFF, 0 },
|
|
// { VIALRGB_EFFECT_DIRECT, 0 }, TODO
|
|
#ifdef RGB_MATRIX_EFFECT_SOLID_COLOR
|
|
{ VIALRGB_EFFECT_SOLID_COLOR, RGB_MATRIX_SOLID_COLOR },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_ALPHAS_MODS
|
|
{ VIALRGB_EFFECT_ALPHAS_MODS, RGB_MATRIX_ALPHAS_MODS },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_GRADIENT_UP_DOWN
|
|
{ VIALRGB_EFFECT_GRADIENT_UP_DOWN, RGB_MATRIX_GRADIENT_UP_DOWN },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_GRADIENT_LEFT_RIGHT
|
|
{ VIALRGB_EFFECT_GRADIENT_LEFT_RIGHT, RGB_MATRIX_GRADIENT_LEFT_RIGHT },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_BREATHING
|
|
{ VIALRGB_EFFECT_BREATHING, RGB_MATRIX_BREATHING },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_BAND_SAT
|
|
{ VIALRGB_EFFECT_BAND_SAT, RGB_MATRIX_BAND_SAT },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_BAND_VAL
|
|
{ VIALRGB_EFFECT_BAND_VAL, RGB_MATRIX_BAND_VAL },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_BAND_PINWHEEL_SAT
|
|
{ VIALRGB_EFFECT_BAND_PINWHEEL_SAT, RGB_MATRIX_BAND_PINWHEEL_SAT },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_BAND_PINWHEEL_VAL
|
|
{ VIALRGB_EFFECT_BAND_PINWHEEL_VAL, RGB_MATRIX_BAND_PINWHEEL_VAL },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_BAND_SPIRAL_SAT
|
|
{ VIALRGB_EFFECT_BAND_SPIRAL_SAT, RGB_MATRIX_BAND_SPIRAL_SAT },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_BAND_SPIRAL_VAL
|
|
{ VIALRGB_EFFECT_BAND_SPIRAL_VAL, RGB_MATRIX_BAND_SPIRAL_VAL },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_CYCLE_ALL
|
|
{ VIALRGB_EFFECT_CYCLE_ALL, RGB_MATRIX_CYCLE_ALL },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_CYCLE_LEFT_RIGHT
|
|
{ VIALRGB_EFFECT_CYCLE_LEFT_RIGHT, RGB_MATRIX_CYCLE_LEFT_RIGHT },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_CYCLE_UP_DOWN
|
|
{ VIALRGB_EFFECT_CYCLE_UP_DOWN, RGB_MATRIX_CYCLE_UP_DOWN },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_RAINBOW_MOVING_CHEVRON
|
|
{ VIALRGB_EFFECT_RAINBOW_MOVING_CHEVRON, RGB_MATRIX_RAINBOW_MOVING_CHEVRON },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_CYCLE_OUT_IN
|
|
{ VIALRGB_EFFECT_CYCLE_OUT_IN, RGB_MATRIX_CYCLE_OUT_IN },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_CYCLE_OUT_IN_DUAL
|
|
{ VIALRGB_EFFECT_CYCLE_OUT_IN_DUAL, RGB_MATRIX_CYCLE_OUT_IN_DUAL },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_CYCLE_PINWHEEL
|
|
{ VIALRGB_EFFECT_CYCLE_PINWHEEL, RGB_MATRIX_CYCLE_PINWHEEL },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_CYCLE_SPIRAL
|
|
{ VIALRGB_EFFECT_CYCLE_SPIRAL, RGB_MATRIX_CYCLE_SPIRAL },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_DUAL_BEACON
|
|
{ VIALRGB_EFFECT_DUAL_BEACON, RGB_MATRIX_DUAL_BEACON },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_RAINBOW_BEACON
|
|
{ VIALRGB_EFFECT_RAINBOW_BEACON, RGB_MATRIX_RAINBOW_BEACON },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_RAINBOW_PINWHEELS
|
|
{ VIALRGB_EFFECT_RAINBOW_PINWHEELS, RGB_MATRIX_RAINBOW_PINWHEELS },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_RAINDROPS
|
|
{ VIALRGB_EFFECT_RAINDROPS, RGB_MATRIX_RAINDROPS },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_JELLYBEAN_RAINDROPS
|
|
{ VIALRGB_EFFECT_JELLYBEAN_RAINDROPS, RGB_MATRIX_JELLYBEAN_RAINDROPS },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_HUE_BREATHING
|
|
{ VIALRGB_EFFECT_HUE_BREATHING, RGB_MATRIX_HUE_BREATHING },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_HUE_PENDULUM
|
|
{ VIALRGB_EFFECT_HUE_PENDULUM, RGB_MATRIX_HUE_PENDULUM },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_HUE_WAVE
|
|
{ VIALRGB_EFFECT_HUE_WAVE, RGB_MATRIX_HUE_WAVE },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_TYPING_HEATMAP
|
|
{ VIALRGB_EFFECT_TYPING_HEATMAP, RGB_MATRIX_TYPING_HEATMAP },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_DIGITAL_RAIN
|
|
{ VIALRGB_EFFECT_DIGITAL_RAIN, RGB_MATRIX_DIGITAL_RAIN },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_SOLID_REACTIVE_SIMPLE
|
|
{ VIALRGB_EFFECT_SOLID_REACTIVE_SIMPLE, RGB_MATRIX_SOLID_REACTIVE_SIMPLE },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_SOLID_REACTIVE
|
|
{ VIALRGB_EFFECT_SOLID_REACTIVE, RGB_MATRIX_SOLID_REACTIVE },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_SOLID_REACTIVE_WIDE
|
|
{ VIALRGB_EFFECT_SOLID_REACTIVE_WIDE, RGB_MATRIX_SOLID_REACTIVE_WIDE },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_SOLID_REACTIVE_MULTIWIDE
|
|
{ VIALRGB_EFFECT_SOLID_REACTIVE_MULTIWIDE, RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_SOLID_REACTIVE_CROSS
|
|
{ VIALRGB_EFFECT_SOLID_REACTIVE_CROSS, RGB_MATRIX_SOLID_REACTIVE_CROSS },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_SOLID_REACTIVE_MULTICROSS
|
|
{ VIALRGB_EFFECT_SOLID_REACTIVE_MULTICROSS, RGB_MATRIX_SOLID_REACTIVE_MULTICROSS },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_SOLID_REACTIVE_NEXUS
|
|
{ VIALRGB_EFFECT_SOLID_REACTIVE_NEXUS, RGB_MATRIX_SOLID_REACTIVE_NEXUS },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_SOLID_REACTIVE_MULTINEXUS
|
|
{ VIALRGB_EFFECT_SOLID_REACTIVE_MULTINEXUS, RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_SPLASH
|
|
{ VIALRGB_EFFECT_SPLASH, RGB_MATRIX_SPLASH },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_MULTISPLASH
|
|
{ VIALRGB_EFFECT_MULTISPLASH, RGB_MATRIX_MULTISPLASH },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_SOLID_SPLASH
|
|
{ VIALRGB_EFFECT_SOLID_SPLASH, RGB_MATRIX_SOLID_SPLASH },
|
|
#endif
|
|
#ifdef RGB_MATRIX_EFFECT_SOLID_MULTISPLASH
|
|
{ VIALRGB_EFFECT_SOLID_MULTISPLASH, RGB_MATRIX_SOLID_MULTISPLASH },
|
|
#endif
|
|
};
|