qmk-keychron-q3-colemak-dh/quantum/vialrgb_effects.inc
2021-07-17 23:46:11 -04:00

179 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 },
#ifdef RGB_MATRIX_EFFECT_VIALRGB_DIRECT
{ VIALRGB_EFFECT_DIRECT, RGB_MATRIX_VIALRGB_DIRECT },
#endif
#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
};