summaryrefslogtreecommitdiff
path: root/quantum/rgb_matrix_animations/raindrops_anim.h
diff options
context:
space:
mode:
authorWilliam Chang <william@factual.com>2019-07-13 10:18:33 -0700
committerWilliam Chang <william@factual.com>2019-07-13 10:18:33 -0700
commit71493b2f9bbd5f3d18373c518fa14ccafcbf48fc (patch)
tree3bb3e5e496621535611e087720aa5c4d7a533e5e /quantum/rgb_matrix_animations/raindrops_anim.h
parent86ad4988fe7ff64916127509d84f44c56fa097aa (diff)
parentda1f05fbc19477c05c0c01bb07fabfaf1ece9d54 (diff)
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Diffstat (limited to 'quantum/rgb_matrix_animations/raindrops_anim.h')
-rw-r--r--quantum/rgb_matrix_animations/raindrops_anim.h17
1 files changed, 7 insertions, 10 deletions
diff --git a/quantum/rgb_matrix_animations/raindrops_anim.h b/quantum/rgb_matrix_animations/raindrops_anim.h
index 4ce1d65e57..a4fed51658 100644
--- a/quantum/rgb_matrix_animations/raindrops_anim.h
+++ b/quantum/rgb_matrix_animations/raindrops_anim.h
@@ -1,29 +1,25 @@
-#pragma once
#ifndef DISABLE_RGB_MATRIX_RAINDROPS
-#include "rgb_matrix_types.h"
-
-extern rgb_counters_t g_rgb_counters;
-extern led_config_t g_led_config;
-extern rgb_config_t rgb_matrix_config;
+RGB_MATRIX_EFFECT(RAINDROPS)
+#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
static void raindrops_set_color(int i, effect_params_t* params) {
if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return;
- HSV hsv = { 0 , rgb_matrix_config.sat, rgb_matrix_config.val };
+ HSV hsv = { 0 , rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v };
// Take the shortest path between hues
- int16_t deltaH = ((rgb_matrix_config.hue + 180) % 360 - rgb_matrix_config.hue) / 4;
+ int16_t deltaH = ((rgb_matrix_config.hsv.h + 180) % 360 - rgb_matrix_config.hsv.h) / 4;
if (deltaH > 127) {
deltaH -= 256;
} else if (deltaH < -127) {
deltaH += 256;
}
- hsv.h = rgb_matrix_config.hue + (deltaH * (rand() & 0x03));
+ hsv.h = rgb_matrix_config.hsv.h + (deltaH * (rand() & 0x03));
RGB rgb = hsv_to_rgb(hsv);
rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
}
-bool rgb_matrix_raindrops(effect_params_t* params) {
+bool RAINDROPS(effect_params_t* params) {
if (!params->init) {
// Change one LED every tick, make sure speed is not 0
if (scale16by8(g_rgb_counters.tick, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) {
@@ -39,4 +35,5 @@ bool rgb_matrix_raindrops(effect_params_t* params) {
return led_max < DRIVER_LED_TOTAL;
}
+#endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS
#endif // DISABLE_RGB_MATRIX_RAINDROPS