aboutsummaryrefslogtreecommitdiff
path: root/quantum/rgb_matrix_animations/alpha_mods_anim.h
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/rgb_matrix_animations/alpha_mods_anim.h')
-rw-r--r--quantum/rgb_matrix_animations/alpha_mods_anim.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/quantum/rgb_matrix_animations/alpha_mods_anim.h b/quantum/rgb_matrix_animations/alpha_mods_anim.h
new file mode 100644
index 000000000..cc1914d7f
--- /dev/null
+++ b/quantum/rgb_matrix_animations/alpha_mods_anim.h
@@ -0,0 +1,26 @@
1#pragma once
2#ifndef DISABLE_RGB_MATRIX_ALPHAS_MODS
3
4extern const rgb_led g_rgb_leds[DRIVER_LED_TOTAL];
5extern rgb_config_t rgb_matrix_config;
6
7// alphas = color1, mods = color2
8bool rgb_matrix_alphas_mods(effect_params_t* params) {
9 RGB_MATRIX_USE_LIMITS(led_min, led_max);
10
11 HSV hsv = { rgb_matrix_config.hue, rgb_matrix_config.sat, rgb_matrix_config.val };
12 RGB rgb1 = hsv_to_rgb(hsv);
13 hsv.h += rgb_matrix_config.speed;
14 RGB rgb2 = hsv_to_rgb(hsv);
15
16 for (uint8_t i = led_min; i < led_max; i++) {
17 if (g_rgb_leds[i].modifier) {
18 rgb_matrix_set_color(i, rgb2.r, rgb2.g, rgb2.b);
19 } else {
20 rgb_matrix_set_color(i, rgb1.r, rgb1.g, rgb1.b);
21 }
22 }
23 return led_max < DRIVER_LED_TOTAL;
24}
25
26#endif // DISABLE_RGB_MATRIX_ALPHAS_MODS